在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天业余时间!!! 【因为删错了一个文件,而重装系统,又想转系统而又折腾失败】我的生命就是和别人的生命不同!

posted @ 2018-08-22 14:47  半块饼干  阅读(538)  评论(0编辑  收藏  举报