在centos 配置python django環境 總結

1,安裝 python3  主要是版本問題,用3.6 好過3.7html

報錯ModuleNotFoundError: No module named '_ctypes'python

https://www.cnblogs.com/Mr-wangxd/p/7028285.htmllinux

 

 

2,安裝pip時一直有    報錯pkg_resources.DistributionNotFound: The 'pip==7.1.0' distribution was not found and is ....nginx

 

幾番折騰,還不當心 把好多原來python的都刪除,這個真的是誤操做!sql

python -m pip uninstall pip setuptools 再重裝,仍是不行,就django

主要是把  先 ls - L   查看它的軟鏈接到那裏。centos

ls -l grep python   python2.7

ls -l grep pippost

ln -s /usr/python/bin/python3 /usr/bin/python
ln -s /usr/python/bin/pip3 /usr/bin/pip   當我正確指向新的python3目錄下的pip3後,就正確了,再也不有版本問題。

 

 

關鍵命令:url

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天業餘時間!!! 【由於刪錯了一個文件,而重裝系統,又想轉系統而又折騰失敗】個人生命就是和別人的生命不一樣!

相關文章
相關標籤/搜索