centos7 安装 python3.5
centos7 安裝 python3.5
?
一、?python虛擬環(huán)境virtualenv
VirtualEnv用于在一臺機(jī)器上創(chuàng)建多個獨(dú)立的python運(yùn)行環(huán)境,VirtualEnvWrapper為前者提供了一些便利的命令行上的封裝。
Virtualenv是一個非常好的virtual python environment builder,他最大的好處是,可以讓每一個python項(xiàng)目單獨(dú)使用一個環(huán)境,而不會影響python系統(tǒng)環(huán)境,也不會影響其他項(xiàng)目的環(huán)境。
Virtualenv可用于創(chuàng)建獨(dú)立的Python環(huán)境,在這些環(huán)境里面可以選擇不同的Python版本或者不同的packages,并且可以在沒有root權(quán)限的情況下在環(huán)境里安裝新套件,互相不會產(chǎn)生任何的影響。
二、為什么要用virtualenv
- 隔離項(xiàng)目之間的第三方包依賴,如A項(xiàng)目依賴django1.2.5,B項(xiàng)目依賴django1.3。
- 為部署應(yīng)用提供方便,把開發(fā)環(huán)境的虛擬環(huán)境打包到生產(chǎn)環(huán)境即可,不需要在服務(wù)器上再折騰一翻。在服務(wù)器上都不用安裝virtualenv,直接將virtualenv創(chuàng)建的目錄拷貝到服務(wù)器,修改路徑,進(jìn)行虛擬環(huán)境遷移就可以用了。
-?還可以用在沒有root權(quán)限的python環(huán)境配置上,如果沒有root權(quán)限,可以先自己搞一個virtualenv,再在virtualenv中使用pip安裝。(系統(tǒng)中沒有pip,并且也沒有root權(quán)限使用sudo apt-get安裝)
三、安裝的庫的位置
env/Lib/site-packages/目錄里,而不是在系統(tǒng)的python的Lib/site-packages目錄里,這樣你就知道為什么虛擬環(huán)境是分開的了吧。
Note:virtualenv 創(chuàng)建的虛擬環(huán)境與主機(jī)的 Python 環(huán)境完全無關(guān),你主機(jī)配置的庫不能在 virtualenv 中直接使用。你需要在虛擬環(huán)境中利用 pip install 再次安裝配置后才能使用。
?
?
四、?安裝python3.5可能使用的依賴
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel
?
五、?到python官網(wǎng)找到下載路徑, 用wget下載
wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
?
?
?解壓tgz包
tar -zxvf Python-3.5.1.tgz
?把python移到/usr/local下面
mv Python-3.5.1 /usr/local
?刪除舊版本的python依賴
ll /usr/bin | grep python
rm -rf /usr/bin/python
?進(jìn)入python目錄
cd /usr/local/Python-3.5.1/
?配置
./configure
?編譯 make
make
?編譯,安裝
make install
?刪除舊的軟鏈接,創(chuàng)建新的軟鏈接到最新的python
rm -rf /usr/bin/python
ln -s /usr/local/bin/python3.5 /usr/bin/python
python -V
?
安裝完以后,創(chuàng)建一個虛擬環(huán)境,然后在安裝virtualenvwrapper
?vim /etc/profile
在最后加入下面內(nèi)容
PYTHON_HOME=/usr/local/python2.7/bin/
WORKON_HOME=$HOME/.virtualenvs?# 放所有虛擬環(huán)境的地方
PROJECT_HOME=$HOME/dev?# 放所有項(xiàng)目的地方
export PATH=$PATH:$PYTHON_HOME:$WORKON_HOME:$PROJECT_HOME
保存退出
source?/usr/local/python2.7/bin/virtualenvwrapper.sh
如果沒有配置這個文件,創(chuàng)建的虛擬環(huán)境的路徑,就是所在的當(dāng)前路徑。
六、virtualenv ENV?????????????????????
#ENV 為環(huán)境的名字,可以任意設(shè)置,其實(shí)就是一個文件夾,在home下的用戶名文件夾下可以找到。
?
七、指定virtualenv中的python版本
virtualenv --no-site-packages --python=python2.7 env
? ?–no-site-packages表示不包括系統(tǒng)全局的Python安裝包,這樣會更令環(huán)境更干凈
? ?–python=python2.7指定Python的版本未系統(tǒng)已經(jīng)安裝了的Python2.7/
?
八、source ENV/bin/activate? ?(激活虛擬環(huán)境)
#這樣進(jìn)進(jìn)入了virtualenv的虛擬開發(fā)環(huán)境。
進(jìn)入虛擬環(huán)境以后命令行最開始的地方會顯示(ENV),代表已經(jīng)進(jìn)入了這個環(huán)境,然后就可以安裝virtualenvwrapper和Django了
?
九、輸入命令行pip install virtualenvwrapper
這里可以不用sudo,因?yàn)樵趘irtualenv里,不用管理權(quán)限也算是很方便的設(shè)計之一。
virtualenvwrapper安裝后,它會把virtualenv列為依賴包,所以會自動安裝。
?
十、虛擬環(huán)境操作常用命令:
-
workon?切換到環(huán)境
-
deactivate?注銷當(dāng)前環(huán)境
-
lsvirtualenv?列出所有環(huán)境
-
rmvirtualenv?刪除環(huán)境
-
cpvirtualenv?復(fù)制環(huán)境
-
cdsitepackages?cd到當(dāng)前環(huán)境的site-packages目錄
-
lssitepackages?列出當(dāng)前環(huán)境中site-packages內(nèi)容
-
setvirtualenvproject?綁定現(xiàn)存的項(xiàng)目和環(huán)境
-
wipeenv?清除環(huán)境內(nèi)所有第三方包
?
虛擬環(huán)境遷移
當(dāng)需要將虛擬環(huán)境env轉(zhuǎn)移到同一臺電腦的另一個目錄下時
或者當(dāng)需要將虛擬環(huán)境env1遷移或復(fù)制到另一個虛擬環(huán)境(可能不在同一臺機(jī)器上)env2時,首先仍然需要在目的機(jī)器上安裝pip和virtualenv,然后采用以下方法之一安裝其他的package:
1.直接將env1里的文件全部復(fù)制到env2里,然后修改涉及路徑的文件。此種方法可能正常使用,但顯然不是好辦法(不過網(wǎng)絡(luò)不好的時候lz就是用的這個)。
修改的路徑主要是虛擬環(huán)境ubuntu_env/bin目錄下的文件執(zhí)行程序的路徑:如active, pip, ipython等等(幾乎所有文件的路徑,不過有的命令你不用的可以不改)。
如將虛擬環(huán)境ubuntu_env/bin/active中的路徑修改一下:
其中的VIRTUAL_ENV路徑其實(shí)最好修改成現(xiàn)在的絕對路徑VIRTUAL_ENV="/media/pika/files/mine/ENV/ubuntu_env";
將虛擬環(huán)境ubuntu_env/bin/pip和pip3和pip3.4中的路徑修改成絕對路徑:#!/home/pipi/ENV/ubuntu_env/bin/python3
注意最好不要將路徑修改成相對路徑。如果修改的ipython執(zhí)行路徑為相對路徑#!./bin/python3,是相對這個ipython.py執(zhí)行的路徑,激活virtual env后如果在另一個目錄下輸入python就會出錯找不到或者直接調(diào)用系統(tǒng)中的python了,而不是virtual env中的python,而原始的默認(rèn)路徑使用絕對路徑就可以在virtual env激活后在任意目錄都可以執(zhí)行ipython而不出錯!
?
2. 使用requirements.txt
進(jìn)入原虛擬環(huán)境env1,然后執(zhí)行pip freeze > requirements.txt將包依賴信息保存在requirements.txt文件中。
最好手動調(diào)整一下順序,比如numpy和scipy要在matplotlib前面安裝;另外如果想安裝最新版本的,再將后面的版本號==1.9.1什么的刪除。
然后進(jìn)入目的虛擬環(huán)境env2,執(zhí)行pip install -r requirements.txt,pip就會自動從網(wǎng)上下載并安裝所有包。
虛擬環(huán)境env2如果是env1的拷貝,最好先pip uninstall -ry requirements.txt,再pip install -r requirements.txt
3.pip默認(rèn)會從pypi服務(wù)器(http://pypi.python.org/simple)下載包的安裝文件,如果目的機(jī)器無法連外網(wǎng),則可以采用以下辦法:
3.1搭建自己的pypi服務(wù)器。專業(yè)的,可以使用第三方的軟件包來搭建一個完整的pypi鏡像服務(wù)器,參考http://www.worldhello.net/2011/03/14/2357.html。更快速的方法只需要一條命令python -m SimpleHTTPServer即可完成搭建服務(wù)器,具體的目錄結(jié)構(gòu)可參考原pypi服務(wù)器,簡而言之,就是把安裝文件打包放入目錄即可。搭建好服務(wù)器之后,在目的虛擬環(huán)境中,就可以使用pip來安裝了,命令如:pip install -i http://127.0.0.1:8000/ -r requirements.txt
3.2如果你實(shí)在不想搭建pypi服務(wù)器,也有辦法。首先將所有包的安裝文件下載下來,可以手動下載,也可以使用pip,如pip install -d /path/to/save/ -r requirements.txt,然后自己修改requirements.txt文件,將每一行改成對應(yīng)的包的安裝文件的路徑。最后在目的虛擬環(huán)境中使用pip安裝,如pip install -r requirements.txt即可。
3.3還有一種途徑,就是pip提供的bundle選項(xiàng)。首先執(zhí)行pip bundle MyEnv.pybundle -r requirements.txt,將生成一個MyEnv.pybundle文件,該文件夾包含所有包的安裝文件(注意必須后綴名必須是.pybundle),默認(rèn)是重新從pypi服務(wù)器下載安裝文件的,如果愿意,也可以利用3.1中的方法,指定本地的pypi服務(wù)器。然后在目的虛擬環(huán)境中執(zhí)行pip install MyEnv.pybundle即可
所以說,lz還是更喜歡docker中配置的python開發(fā)環(huán)境。
虛擬環(huán)境遷移出錯
方法1虛擬環(huán)境遷移后包引入出錯
from scipy import stats
ImportError: liblapack.so.3: cannot open shared object
這時只需要pip install scipy重新安裝一下就ok了。
ImportError: libBLT.2.4.so.8.6: cannot open shared object file: No such file or directory, please install the python3-tk package
也要重新安裝matplotlib
所以最好使用方法2遷移。
?
下面關(guān)于Python的文章您也可能喜歡,不妨看看:
Linux下Python的安裝以及注意事項(xiàng)??http://www.linuxidc.com/Linux/2015-11/124861.htm
Ubuntu?14.04 下安裝使用Python rq模塊??http://www.linuxidc.com/Linux/2015-08/122441.htm
無需操作系統(tǒng)直接運(yùn)行 Python 代碼??http://www.linuxidc.com/Linux/2015-05/117357.htm
CentOS上源碼安裝Python3.4??http://www.linuxidc.com/Linux/2015-01/111870.htm
《Python核心編程 第二版》.(Wesley J. Chun ).[高清PDF中文版]?http://www.linuxidc.com/Linux/2013-06/85425.htm
《Python開發(fā)技術(shù)詳解》.( 周偉,宗杰).[高清PDF掃描版+隨書視頻+代碼]?http://www.linuxidc.com/Linux/2013-11/92693.htm
Python腳本獲取Linux系統(tǒng)信息?http://www.linuxidc.com/Linux/2013-08/88531.htm
在Ubuntu下用Python搭建桌面算法交易研究環(huán)境?http://www.linuxidc.com/Linux/2013-11/92534.htm
Python 語言的發(fā)展簡史?http://www.linuxidc.com/Linux/2014-09/107206.htm
轉(zhuǎn)載于:https://www.cnblogs.com/liuyansheng/p/6306349.html
總結(jié)
以上是生活随笔為你收集整理的centos7 安装 python3.5的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: npm install引起的项目崩溃(T
- 下一篇: Android 申请权限结果返回处理