linux部署Django脱坑指南

一 .python安装psycopg2报错’Error: pg_config executable not found‘
yum install postgresql-devel*

pip3 install psycopg2 -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com


****导入opencv坑
二. 1.ImportError: libSM.so.6: cannot open shared object file: No such file or directory
pip3 install opencv-python
报错原因: 缺少共享库,使用如下命令查看缺少得共享库 yum whatprovides libSM.so.6
yum install libSM-1.2.2-2.el7.x86_64 --setopt=protected_multilib=false
2.ImportError: libXrender.so.1: cannot open shared object file: No such file or directory
安装方法基本同libSM, 实际上问题的根源还是系统版本的原因,
yum whatprovides libXrender.so.1
可以看到yum源提供的是i686版, 同样的把i686改成x86_64安装64位版本即可
sudo yum install libXrender-0.9.10-1.el7.x86_64 --setopt=protected_multilib=false
安装libXext.so.6
sudo yum install libXext-1.3.3-3.el7.x86_64 --setopt=protected_multilib=false

三.安装dlib坑
1、安装cmake pip install cmake==3.14.4
2. 安装boost pip install boost==0.1
3.dlib的安装
@1.本次安装没有遇到坑pip install dlib==19.17安装成功
注意:安装时gcc和g++的版本必须最新版
参考网址
https://blog.csdn.net/qq_19707521/article/details/80407369
https://msd.misuland.com/pd/3070888525579681820
https://blog.csdn.net/qq_34201858/article/details/84334981


四.ModuleNotFoundError: No module named 'Crypto'
1.pip install pycrypto
2.安装成功后,如果还是提示没有该模块,那就python3的安装目录Lib—-site-package中查看是否有Crypto文件夹,这时你应该看到有crypto文件夹,将其重命名为Crypto即可
3.如果又出现另一个提示说没有Crypto.Cipher,“ModuleNotFoundError:No module named ‘Crypto.Cipher’”,那就去Crypto文件夹下看,是否存在Cipher文件夹,这时你会发现,咦,不存在,看第4步
4.这时你需要卸载pycrypto,pip uninstall pycrypto,然后安装pycryptodome,pip install pycryptodome,即可


五.启动nginx时出现 nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:41
可见,nginx缺少SSL模块支持。这是因为我当年建站的时候根本没用到SSL啊,所以以前编译nginx的时候使用了不带SSL支持的默认编译参数。
为了让nginx添加SSL模块,只能重新编译它。但是,如何在现有nginx的基础上,添加一个支持SSL的编译参数呢?首先要找回原来编译nginx时的编译参数,然后再加上支持SSL的编译参数。如果不这样做,那么编译出来的nginx可能就会有问题(某些旧的编译参数被去掉了,使得nginx不能支持某些功能)。

方法一:
1./usr/local/nginx/sbin/nginx -V
2.输出的信息中,最重要的一句是:configure arguments: --prefix=/usr/local/nginx
3.可见,当时我编译nginx的时候,只是指定了一个安装路径,没有其他特殊的编译参数。那么现在事情就好办了:****回到nginx的源码目录下,加上SSL支持参数重新编译
4../configure --prefix=/usr/local/nginx --with-http_ssl_module
5.注意,此时千万不能手快直接 make install!因为我原来的nginx还有一堆的配置文件,不能被覆盖。我们应该只覆盖编译出来的nginx可执行程序
6.cp /usr/local/nginx/sbin/nginx ~/
cp objs/nginx /usr/local/nginx/sbin/

方法二:
1.进入之前我们下载nginx的源码目录
cd /home/nginx-1.11.3/
2、安装PCRE库
yum -y install pcre
3、安装SSL
yum -y install openssl openssl-devel
4、依次执行下面两行代码重新编译一下
./configure
./configure --with-http_ssl_module --with-http_v2_module
5.执行make 注意:是make而不是make install
6、备份原来的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
7、将新的 nginx 覆盖旧安装目录
cp objs/nginx /usr/local/nginx/sbin/nginx
如果报错,刚用执行下面的命令覆盖
cp -rfp objs/nginx /usr/local/nginx/sbin/nginx


六.ModuleNotFoundError: No module named 'tensorflow.keras'
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==1.13.1

七.ModuleNotFoundError: No module named 'pythoncom'
只有win10才能使用

有关进程操作:(Nginx)
netstat -ltunp(查看线程占用情况)
kill -QUIT 13216 (杀死13216进程)
sudo fuser -k -n tcp 80(强制杀死80进程)
ps -ef|grep nginx (查看Nginx占用的线程)

pip install --index-url https://pypi.douban.com/simple xxx(包名)

原文地址:https://www.cnblogs.com/cwx-0324/p/12887518.html