部署django+vue+nginx+redis+mysql项目踩的坑

网友投稿 681 2022-09-04


部署django+vue+nginx+redis+mysql项目踩的坑

1、ModuleNotFoundError: No module named '_ssl'

编译安装python前,打开Setup.dist中以下几行注释

编辑usr/local/Python-3.9.5/Modules/Setup.dist

SSL=/usr/local/ssl _ssl _ssl.c \-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \-L$(SSL)/lib -lssl -lcrypto

然后再编译安装python

./configure --with-ssl --prefix=/usr/local/python3.9.5make&&make instll

2、运行xadmin报错

File "/root/.virtualenvs/luffy/lib/python3.9/site-packages/xadmin/plugins/importexport.py", line 48, in from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASSImportError: cannot import name 'DEFAULT_FORMATS' from 'import_export.admin' (/root/.virtualenvs/luffy/lib/python3.9/site-packages/import_export/admin.py)

解决方案:

注释报错行:

/root/.virtualenvs/luffy/lib/python3.9/site-packages/xadmin/plugins/importexport.py

from import_export.admin import DEFAULT_FORMATS, SKIP_ADMIN_LOG, TMP_STORAGE_CLASS

重新导入,添加以下两行:

from import_export.formats.base_formats import DEFAULT_FORMATSfrom import_export.admin import ImportMixin, ImportExportMixinBase

3、ModuleNotFoundError: No module named 'virtualenvwrapper'

安装虚拟环境

pip3 install virtualenvpip3 install virtualenvwrapper

配置变量环境

vim ~/.bashrc

export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3export VIRTUALENVWRAPPER_VIRTUALENV=/usr/bin/virtualenvsource /usr/local/python3/bin/virtualenvwrapper.sh

source ~/.bashrc

4、安装uswgi报错

报错1:

WARNING: Discarding (from Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output. Downloading (590 kB) |████████████████████████████████| 590 kB 155 kB/s ERROR: Command errored out with exit status 1: command: /usr/local/python3/bin/python3.9 -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-oyzteori/uwsgi_6dbf2cdc9a9546f4b5008f8867f6294e/setup.py'"'"'; __file__='"'"'/tmp/pip-install-oyzteori/uwsgi_6dbf2cdc9a9546f4b5008f8867f6294e/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-_xm07qeo cwd: /tmp/pip-install-oyzteori/uwsgi_6dbf2cdc9a9546f4b5008f8867f6294e/ Complete output (11 lines): Traceback (most recent call last): File "", line 1, in File "/usr/local/python3/lib/python3.9/site-packages/setuptools/__init__.py", line 18, in from setuptools.dist import Distribution File "/usr/local/python3/lib/python3.9/site-packages/setuptools/dist.py", line 34, in from setuptools import windows_support File "/usr/local/python3/lib/python3.9/site-packages/setuptools/windows_support.py", line 2, in import ctypes File "/usr/local/python3/lib/python3.9/ctypes/__init__.py", line 8, in from _ctypes import Union, Structure, Array ModuleNotFoundError: No module named '_ctypes' ----------------------------------------WARNING: Discarding (from Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.ERROR: Could not find a version that satisfies the requirement uwsgi (from versions: 1.4.9, 1.4.10, 1.9, 1.9.1, 1.9.2, 1.9.3, 1.9.4, 1.9.5, 1.9.6, 1.9.7, 1.9.8, 1.9.9, 1.9.10, 1.9.11, 1.9.12, 1.9.13, 1.9.14, 1.9.15, 1.9.16, 1.9.17, 1.9.17.1, 1.9.18, 1.9.18.1, 1.9.18.2, 1.9.19, 1.9.20, 1.9.21, 1.9.21.1, 2.0, 2.0.1, 2.0.2, 2.0.3, 2.0.4, 2.0.5, 2.0.5.1, 2.0.6, 2.0.7, 2.0.8, 2.0.9, 2.0.10, 2.0.11, 2.0.11.1, 2.0.11.2, 2.0.12, 2.0.13, 2.0.13.1, 2.0.14, 2.0.15, 2.0.16, 2.0.17, 2.0.17.1, 2.0.18, 2.0.19, 2.0.19.1, 2.0.20)ERROR: No matching distribution found for uwsgiWARNING: You are using pip version 21.1.1; however, version 22.0.4 is available.You should consider upgrading via the '/usr/local/python3/bin/python3.9 -m pip install --upgrade pip' command.

报错2:

[root@python01 ~]# pip3 install uwsgiLooking in indexes: uwsgi Downloading (804 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 804.9/804.9 KB 10.6 MB/s eta 0:00:00 Preparing metadata (setup.py) ... error error: subprocess-exited-with-error × python setup.py egg_info did not run successfully. │ exit code: 1 ╰─> [1 lines of output] ERROR: Can not execute `setup.py` since setuptools is not available in the build environment. [end of output] note: This error originates from a subprocess, and is likely not a problem with pip.error: metadata-generation-failed× Encountered error while generating package metadata.╰─> See above for output.note: This is an issue with the package mentioned above, not pip.

解决方案:

安装依赖

yum -y groupinstall "Development tools"yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel tk-devel pcre-devel

升级pip和setuptools

/usr/local/python3/bin/python3.9 -m pip install --upgrade pippip3 install --upgrade setuptools

再安装

pip3 install uwsgi

5、module 'jwt' has no attribute 'encode'

jwt和PyJWT冲突导致,同时存在jwt和PyJWT模块,import PyJWT导入的还是jwt,解决方法,卸载jwt和PyJWT,然后重新安装PyJWT

pip uninstall jwtpip uninstall PyJWTpip install PyJWT

6、外键序列化报错

Got AttributeError when attempting to get a value for field `orders` on serializer `CourseSectionSerializer`.The serializer field might be named incorrectly and not match any attribute or key on the `RelatedManager` instance.Original exception text was: 'RelatedManager' object has no attribute 'orders'.

当外键是一对多关系,在序列化外键的时候需要加入many = True参数

coursesections = CourseSectionSerializer(many= True)

6、vue的img向后端nginx请求图片失败(未解决)

vue中在本地像远端的nginx请求图片,返回的格式是text/html,前端无法正常展示(nginx转发img的请求,会改变图片的格式?)

使用curl方式,可以正常返回;并且本地img向本地的django直接请求,也可以正常返回;

本地使用aixos向远端nginx请求,也可以正常返回


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Python轻松入门(五):列 表
下一篇:Spring复杂对象创建的方式小结
相关文章

 发表评论

暂时没有评论,来抢沙发吧~