作爲一個輕度強迫症患者,總喜歡分門別類的歸置一些物品,在編程當中,也是這樣子的。
對於在Python中,如果想要將每一個項目的依賴包都獨立出來,即新建每一個項目都新建一個環境。而不是像我們在入門階段時,把所有pip install
命令安裝的包都放在一個文件夾裏面。
一、安裝python
首先是Linux系統中已經具備python環境,其中方法1最爲常用
方法1:
如果是雲服務器的話,國內的阿里雲和騰訊雲等服務器鏡像庫裏都已經有了python3的安裝。即使用sudo yum install python3
進行安裝。
方法2:
如果是標準的Linux服務器的話,裏面是不含有python3的yum
安裝包,因此需要安裝EPEL,即Extra Packages for Enterprise Linux的簡稱。
- 使用 sudo yum install epel-release 命令安裝 epel 擴展軟件包。
- 使用 sudo yum install python3 安裝Python3版本。
方法3:
- 進入https://www.python.org/downloads/source/的python官網選擇python版本,並下載tar包。
- 使用tar命令對Linux目錄中的包文件進行解壓
tar -zxvf Python3.7.5.tgz
- 進入解壓後的文件
cd Python-3.7.5
,運行./configure命令,生成makefile文件 - 運行
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xzdevel libffi-devel
命令安裝缺少的模塊 - 運行
sudo make & sudo make install
命令,安裝Python.
提示:
; (分號)cmd1; cmd2 表示執行完cmd1後,執行cmd2,無論cmd1指令是否執行成功
|| (兩個或運算符) cmd1 || cmd2 # 先執行cmd1,cmd1執行失敗以後
纔會執行cmd2
&&(兩個與運算符) cmd1 && cmd2 # 先執行cdm1,cmd1執行成功以後,纔會執行cmd2
- 運行
sudo make & sudo make install
命令,安裝Python. - 運行
ln -s /usr/local/bin/python3.7 /usr/bin/python3
命令,在 /usr/bin目錄下建立Python3.7的軟連接。
軟連接的意思就是將python3.7 變爲python3的快捷方式
- 運行python3命令可以打開python3.7
- 問題:但是此時每次python安裝環境時都要使用pip3 這個命令,可否使用pip這個命令啓動pip,答案是可以的。
- 解決方式:
-
- 進入
/usr/bin
這個目錄。
- 進入
-
- 使用
ll pip*
,列出所有名字中以pip開頭的文件。
- 使用
-
- 使用
rm pip
,刪除pip文件
- 使用
-
- 使用
sudo ln -s pip3 pip
增加名爲pip的軟鏈接,指向pip3
- 使用
- 提示:如果提示權限不夠的話,在命令前面增加 sudo 指令
二、安裝virtualenv
借用廖雪峯前輩的總結就是:
virtualenv爲應用提供了隔離的Python運行環境,解決了不同應用間多版本的衝突問題
1. 安裝virtualenv
sudo pip install virtualenv
2.安裝virtualenvwrapper
sudo pip install virtualenvwrapper
在安裝完這兩個文件是否可以愉快的玩耍了?答案是:No。
此時我們還需要配置一下用戶目錄下的.bashrc
文件,當然也可以把它加到根目錄下的.bashrc
文件。當然,這種做法是不推薦的。
在.bashrc
末尾處添加以下命令:
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=~/.envs
source /usr/local/bin/virtualenvwrapper.sh
提示:
第一句:export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
的意思是: 指定虛擬環境下默認的python版本是python3
第二句:export WORKON_HOME=~/.envs
的意思是: 指定新創建的虛擬環境保存在~/.envs
當中,
第三句:source /usr/local/bin/virtualenvwrapper.sh
的意思是:執行virtualenvwrapper.sh
腳本
3.執行~/.bashrc
文件
source ~/.bashrc
提示:這段命令的意思是執行腳本文件~/.bashrc
,否則將需要重新連接雲服務器。在啓動服務器的時候,會自動執行該腳本文件
4.新建虛擬環境
使用mkvirtualenv test
命令就可以新建一個名字叫做test
的虛擬環境,並且存放在~/.envs
當中.
在這個新的虛擬環境中,python所下載的包都放在同一個地方:
/home/JiangCheng/.envs/test/lib/python3.6/site-packages
,如下圖所示:
5.管理虛擬環境的指令:
mkvirtualenv test # 創建並切換到test虛擬環境
deactivate # 離開test虛擬環境
rmvirtualenv test # 刪除test虛擬環境
workon demo # 切換到demo虛擬環境
rmvirtualenv test# 刪除虛擬環境test
提示:在某一環境中使用
pip install
某一個包時,不能使用sudo
的命令!!!否則會將包安裝到大的虛擬環境:/usr/local/lib64/python3.6/site-packages
這個目錄裏面