在centos 配置python django环境 总结
1,安装 python3 主要是版本问题,用3.6 好过3.7
报错ModuleNotFoundError: No module named '_ctypes'
https://www.cnblogs.com/Mr-wangxd/p/7028285.html
2,安装pip时一直有 报错pkg_resources.DistributionNotFound: The 'pip==7.1.0' distribution was not found and is ....
几番折腾,还不小心 把好多原来python的都删除,这个真的是误操作!
python -m pip uninstall pip setuptools 再重装,还是不行,就
主要是把 先 ls - L 查看它的软连接到那里。
ls -l grep python
ls -l grep pip
ln -s /usr/python/bin/python3 /usr/bin/python
ln -s /usr/python/bin/pip3 /usr/bin/pip 当我正确指向新的python3目录下的pip3后,就正确了,不再有版本问题。
关键命令:
python -m pip uninstall pip setuptools pip install --upgrade setuptools
python -m pip --version 这个查版本,对这个错误,重要
centos7.2,系统自带python2.7。升级到 python3 时, import sqlite3 出现 no module named _sqlite3的解决方法
https://blog.csdn.net/sEgiraffe/article/details/76380802
然后 运行django manage.py runserver 0.0.0.0:8000 出现安装sqlite3的的问题
https://blog.csdn.net/huzhenwei/article/details/7339548 用了第34个方法解决
然后再出现,ImportError: dynamic module does not define module export function (PyInit__sqlite3)
正在解决中.....
这个问题过了又一天,= = ,
我重装了,我重装了,重装了! 先用 rm -rf 删除所有 python3和sqlite3的文件和文件夹。
find / -name _sqlite3.so 自动生成,终于成功了!
/usr/local/lib/python3.6/lib-dynload/_sqlite3.cpython-36m-x86_64-linux-gnu.so
find / -name sqlite3
find / -name python3.6
然后用make clean 结合这几个,去重装,最后成功了!
https://blog.csdn.net/laoyang360/article/details/75094004
https://www.cnblogs.com/i1991/p/9497259.html
https://blog.csdn.net/nuli888/article/details/51973738
------直觉总结: 一,需要先装好sqlite3 重点要: yum install sqlite-devel
然后装 python3 时要 ./configure --enable-optimizations
和vi setup.py,把
'/usr/local/sqlite3',
'/usr/local/sqlite3/include',
'/usr/local/sqlite3/include/sqlite3', 注意目录为sqlite3的目录
而最后,不要自己 建 软连接 这个当然是我怀疑的 ,直接用python3 和 pip3 就可以了!
mv /usr/bin/python /usr/bin/python.bak $ ln -s /usr/python/bin/python3 /usr/bin/python
部署django 先停掉nginx占用80端口
nohup python3 manage.py runserver 0.0.0.0:8000 >> output.log 2>&1 &
nohup python3 manage.py runserver 0.0.0.0:80 >> output.log 2>&1 &
netstat -nap|grep number
netstat -nap|grep python
kill -9 进程号
netstat -lanpt | grep -w "80"
ps -ef|grep nginx
kill -QUIT 26291
nginx
重要,在 include /etc/nginx/conf.d/*.conf;
uwsgi --http :8001 --chdir /home/python3/ --wsgi-file ask_page/wsgi.py --master --processes 4 --threads 2 --stats 127.0.0.1:9191
重要 home/python3/目录下 执行下:
uwsgi --http :8000 --module djangoproj.wsgi
uwsgi --ini djangoproj_uwsgi.ini
good https://www.cnblogs.com/frchen/p/5709533.html
Nginx部署Django
----------------- 可以同样的80端口,在default.conf里,诺在其它conf里需要servername是域名
charset UTF-8;
access_log /home/python3_access.log;
error_log /home/python3_error.log;
#root /ap;
client_max_body_size 75M;
location /ap/ {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
uwsgi_read_timeout 2;
}
location /res {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/python3/res/;
}
在centos下,linux下,写文件会有错误, 不是自己创建的,没有执行、更改它的权限,搞了两个小时!我的生命啊!
还有装wxpython,等 python 文件,如果不成功,优先考虑没有 whl 文件,这是定制的,linux系统下也有whl!
如:https://extras.wxpython.org/wxPython4/extras/linux/
因为这个,没耐心看文档+英语不好及排斥英语, 搞了5天业余时间!!! 【因为删错了一个文件,而重装系统,又想转系统而又折腾失败】我的生命就是和别人的生命不同!