CentOS 7.4 安裝python3及虛擬環(huán)境

由于寫了個(gè)爬蟲腳本,需要放到服務(wù)器中運(yùn)行。之前一直在Ubuntu系統(tǒng)中安裝多Python環(huán)境,而CentOS系統(tǒng)的安裝步驟略微有些出入,故詳細(xì)記錄下這幾天趟過(guò)的坑。

說(shuō)明

  1. 本文的系統(tǒng)命令一般會(huì)在語(yǔ)句前加上$號(hào),以區(qū)分系統(tǒng)命令及其他內(nèi)容。輸入命令時(shí),無(wú)需輸入$號(hào)。
$ yum install vim
  1. 本文系統(tǒng)輸出的信息,會(huì)在前面加上>>號(hào)。
$ which python
>> /usr/bin/python    # 系統(tǒng)輸出的信息
  1. 本文的系統(tǒng)命令都是在root賬號(hào)下執(zhí)行的,假如非root賬號(hào)執(zhí)行,提示沒(méi)有權(quán)限,可在命令前加sudo。
$ yum install vim    #root賬號(hào)下執(zhí)行命令
$ sudo yum install vim    #非root賬號(hào)下執(zhí)行管理員權(quán)限命令,需在命令前加`sudo`
  1. 安裝環(huán)境

系統(tǒng)版本:CentOS 7.4(自帶Python2.7)
安裝版本:Python3.6
安裝插件:virtualenv、virtualenvwrapper


一、安裝Python3

由于CentOS7原本就安裝了Python2,而且這個(gè)Python2不能被刪除,因?yàn)橛泻芏嘞到y(tǒng)命令,比如yum都要用到。所以我們要額外安裝Python3,而且系統(tǒng)一般允許多個(gè)版本的python同時(shí)存在。

我們先來(lái)查看python安裝位置,一般是位于/usr/bin/python目錄下。

$ which python
>> /usr/bin/python

下面介紹安裝Python3的方法:

1. 安裝依賴包(切記安裝)

$ yum -y groupinstall "Development tools"
$ yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel

2.下載Python3安裝包
大家可根據(jù)自己需求下載不同版本的Python3,我下載的是Python3.6.2

$ wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz

3. 新建python3存放目錄

$ mkdir /usr/local/python3 

4. 安裝Python3
解壓壓縮包,進(jìn)入解壓目錄,指定安裝目錄,安裝Python3。

$ tar -xvJf  Python-3.6.2.tar.xz
$ cd Python-3.6.2
$ ./configure --prefix=/usr/local/python3
# 安裝python3.7以上版本,需要先安裝新的包 >  yum install libffi-devel -y
$ make && make install

安裝Python3時(shí),會(huì)自動(dòng)安裝pip。假如沒(méi)有,需要自己手動(dòng)安裝。

$ yum -y install python-pip

5. 創(chuàng)建軟鏈接

$ ln -s /usr/local/python3/bin/python3 /usr/bin/python3
$ ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

6. 安裝完成,輸入python3測(cè)試

安裝成功


二、創(chuàng)建虛擬環(huán)境

virtualenv是一個(gè)可以在同一計(jì)算機(jī)中隔離多個(gè)python版本的工具。有時(shí),兩個(gè)不同的項(xiàng)目可能需要不同版本的python,如 python2.7 / python3.6 ,但是如果都裝到一起,經(jīng)常會(huì)導(dǎo)致問(wèn)題。virtualenv能夠用于創(chuàng)建獨(dú)立的Python虛擬環(huán)境,多個(gè)Python相互獨(dú)立,互不影響。
virtualenvwrapper這個(gè)軟件包可以讓我們管理虛擬環(huán)境變得更加簡(jiǎn)單。不用再跑到某個(gè)目錄下通過(guò)virtualenv來(lái)創(chuàng)建虛擬環(huán)境,并且激活的時(shí)候也要跑到具體的目錄下去激活。

下面介紹安裝python虛擬環(huán)境的方法:

使用pip安裝包前,先更新pip。

$ pip3 install --upgrade pip

1. 安裝virtualenv、virtualenvwrapper

$ pip3 install virtualenv
$ pip3 install virtualenvwrapper

2. 進(jìn)入.bashrc文件中,定義virtualenvwrapper路徑

使用vim編輯.bashrc文件

$ vim ~/.bashrc

在文末填入以下代碼并保存

VIRTUALENVWRAPPER_PYTHON=/usr/local/python3/bin/python3    # 指定virtualenvwrapper執(zhí)行的python版本
export WORKON_HOME=$HOME/.virtualenvs    # 指定虛擬環(huán)境存放目錄,.virtualenvs目錄名可自擬
source /usr/local/bin/virtualenvwrapper.sh    # virtualenvwrapper.sh所在目錄

3. 運(yùn)行.bashrc文件

$ source ~/.bashrc

4. 創(chuàng)建虛擬環(huán)境

$ mkvirtualenv py3-env

也可指定虛擬環(huán)境的python版本

$ mkvirtualenv --python=/usr/bin/python3 py3-env  

5. 進(jìn)入虛擬環(huán)境中,然后進(jìn)入到項(xiàng)目所在目錄,安裝好相應(yīng)的包(如無(wú)需要,可跳過(guò)此步)

$ pip install -r requirements.txt

附:自動(dòng)生成項(xiàng)目安裝包的依賴文件

$ pip freeze > requirements.txt

虛擬環(huán)境搭建完成!



常見(jiàn)的virtualenvwrapper命令

  • 創(chuàng)建虛擬環(huán)境
$ mkvirtualenv my_env
  • 切換到某個(gè)虛擬環(huán)境
$ workon my_env
  • 退出當(dāng)前虛擬環(huán)境
$ deactivate
  • 刪除某個(gè)虛擬環(huán)境
$ rmvirtualenv my_env
  • 列出所有虛擬環(huán)境
$ lsvirtualenv
  • 進(jìn)入到虛擬環(huán)境所在的目錄
$ cdvirtualenv


三、異常情況

  • 假如source ~/.bashrc時(shí),提示以下錯(cuò)誤
$ source ~/.bashrc
>> -bash: /usr/local/bin/virtualenvwrapper.sh: No such file or directory

【原因】
.bashrc文件中的virtualenvwrapper.sh所在目錄錯(cuò)誤。

【解決方案】
①查找virtualenvwrapper.sh所在目錄

$ find / -name "virtualenvwrapper.sh"
>> /usr/local/python3/bin/virtualenvwrapper.sh

②把.bashrc文件的virtualenvwrapper.sh目錄更改為實(shí)際所在目錄

source /usr/local/python3/bin/virtualenvwrapper.sh    # virtualenvwrapper.sh實(shí)際所在目錄


  • 假如創(chuàng)建虛擬環(huán)境時(shí),提示以下錯(cuò)誤
$ mkvirtualenv my_env
>> ERROR: virtualenvwrapper could not find virtualenv in your path

【解決方案】
①查找virtualenv所在目錄

$ find / -name "virtualenv"
>> /usr/local/python3/bin/virtualenv

②創(chuàng)建軟鏈接

$  ln -s /usr/local/python3/bin/virtualenv /usr/local/bin/virtualenv


參考文章:
https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=zzzv1zqj
https://www.cnblogs.com/FZfangzheng/p/7588944.html
https://blog.csdn.net/mbl114/article/details/78089741
https://stackoverflow.com/questions/31274642/error-virtualenvwrapper-could-not-find-virtualenv-in-your-path
https://blog.csdn.net/qq_36416904/article/details/79316972




云服務(wù)器低至0.95折,馬上領(lǐng)用>>
商標(biāo)注冊(cè)服務(wù)低至680元>>
全民加速節(jié)CDN低至5.5折>>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容