linux下配置python環境
1、linux下安裝python3
a、 准備編譯環境(環境如果不對的話,可能遇到各種問題,比如wget無法下載https鏈接的文件)
yum groupinstall 'Development Tools'
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel
2、下載 Python3.5代碼包
wget https://www.python.org/ftp/python/3.5.0/Python-3.5.0.tar.xz
在安裝包中有一個README的文件,里面有寫如何安裝
tar Jxvf Python-3.5.0.tar.xz
cd Python-3.5.0
./configure --prefix=/usr/local/python3
make && make install
提示:Ignoring ensurepip failure: pip 7.1.2 requires SSL/TLS
這是原因沒有安裝或升級oenssl:
yum install openssl-devel
再次重復編譯方案python3.5:
成功后會提示成功安裝pip-7.12與setuptools!
pip3與pip都提示沒有錯誤!
做軟鏈:
ln -s /usr/local/python3/bin/pip3.5 /usr/local/bin/pip
升級pip到最新版本:
pip install --upgrade pip
pip安裝成功啦!
注:--no-check-certificate 表示安裝時“不檢查證書”,不加上可能無法安裝。
3、安裝包
requests包:
pip install requests
pyquery包:
pip install pyquery
pymysql包:
pip install pymysql
4、如果機器中存在舊版本python,安裝完成后,需要建立軟連接和其它處理
4.1、將老版本改名
mv /usr/bin/python /usr/bin/python_old
4.2、建立新版本的鏈接
ln -s /usr/local/python3/bin/python3 /usr/bin/python
4.3、檢查最新的python版本
python --version
5、安裝django並創建helloworld項目
5.1、使用pip安裝django
# pip install Django
或指定安裝版本
# pip install Django==1.10.5
5.1、使用django創建hello項目
下面我們就來創建我們的HelloWorld項目,在你想保存項目代碼的目錄下執行
django-admin.py startproject hello
5.2、開啟服務
# python hello/manage.py runserver 0.0.0.0:8090
打開網頁訪問:127.0.0.1:8090就會看到django默認頁面
It worked!
Congratulations on your first Django-powered page.
Ps:
報錯1:
bash: django-admin.py:command not found
解決辦法:
找到django-admin.py,一般在/usr/local/python3/目錄下,找到后添加軟鏈
# ln -s /usr/local/python3/bin/python-admin.py /usr/local/bin/python-admin.py
查看軟鏈是否添加成功
# cd /usr/local/bin
# ls -il
報錯2:
$ yum
File "/usr/bin/yum", line 30
except KeyboardInterrupt, e:
^
SyntaxError: invalid syntax
原因:
這是因為yum采用Python作為命令解釋器,這可以從/usr/bin/yum文件中第一行#!/usr/bin/python發現。而python版本之間兼容性不太好,使得2.X版本與3.0版本之間存在語法不一致問題。而CentOS 5自帶的yum采用的是python2.7,當系統將python升級到2.7或3.0后,出現語法解釋錯誤。
解決辦法:
很簡單,一是升級yum,一是修改yum的解釋器為舊版本python2.7(如果你沒有采用覆蓋升級的話)。
升級yum的作法就不詳述了。修改yum的解釋器為舊版本python2.7:
$ vi /usr/bin/yum
將第一行"#!/usr/bin/python" 改為 "#!/usr/bin/python2.7"即可。
# vi /usr/bin/yum
FROM:
#!/usr/bin/python
TO:
#!/usr/bin/python2.7
報錯3:
File "/usr/libexec/urlgrabber-ext-down", line 28
except OSError, e:
^
SyntaxError: invalid syntax
原因:
同錯誤2原因
解決辦法:
$ vi /usr/libexec/urlgrabber-ext-down
將第一行"#!/usr/bin/python" 改為 "#!/usr/bin/python2.7"即可。
# vi /usr/libexec/urlgrabber-ext-down
FROM:
#!/usr/bin/python
TO:
#!/usr/bin/python2.7
報錯4:Django - No module named _sqlite3
解決:
1,首先安裝 sqlite-devel
yum install sqlite-devel
2,重新編譯安裝Python
./configure --prefix=/usr/local/python3
make && make install
6、視圖和 URL 配置。
在先前創建的 mysite 目錄下,新建一個 views.py 文件,並鍵入代碼:
from django import HttpResponse
def hello(request):
return HttpResponse("Hello world ! ")
接着,綁定 URL 與視圖函數。打開 urls.py 文件,將代碼修改為:
from django.conf.urls import url
from django.contrib import admin
from hello.views import helloworld
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^hello/', helloworld),
]
完成后,啟動 Django 開發服務器(一直將它運行着也是可以的。開發服務器會自動監測代碼改動並自動重新載入,所以不需手動重啟)。打開瀏覽器並訪問:
http://127.0.0.1:8090/hello/
即可看到想要的輸出:Hello world !