pythonenv的安裝及遷移


一、安裝

運行

 pip install virtualenv

即可安裝virtualenv,想用 最新開發版 就運行

二、 virtualenv基本使用

$ python virtualenv.py env

在已安裝virtualenv的情況下,可以直接運行 virtualenv env 

該操作會創建 env/lib/pythonX.X/site-packages 目錄 和 env/bin/python , 前者用來存放要安裝的模塊,后者就是隔離環境的Python解釋器。 在virtualenv環境下使用此解釋器(包括以 #!/path/to/ENV/bin/python 開頭的腳本)時,使用的都是隔離環境下的模塊。 
該操作還在隔離環境下安裝了 Setuptools 或 distribute 。要用Distribue取代setuptools的話,只要運行:

$ python virtualenv.py --distribute env

選項:

 

--version顯示當前版本號。

-h, --help顯示幫助信息。

-v, --verbose顯示詳細信息。

-q, --quiet不顯示詳細信息。

-p PYTHON_EXE, --python=PYTHON_EXE指定所用的python解析器的版本,比如 --python=python2.5 就使用2.5版本的解析器創建新的隔離環境。 默認使用的是當前系統安裝(/usr/bin/python)的python解析器

--clear清空非root用戶的安裝,並重頭開始創建隔離環境。

--no-site-packages令隔離環境不能訪問系統全局的site-packages目錄。

--system-site-packages令隔離環境可以訪問系統全局的site-packages目錄。

--unzip-setuptools安裝時解壓Setuptools或Distribute

--relocatable重定位某個已存在的隔離環境。使用該選項將修正腳本並令所有.pth文件使用相當路徑。

--distribute使用Distribute代替Setuptools,也可設置環境變量VIRTUALENV_DISTRIBUTE達到同樣效要。

--extra-search-dir=SEARCH_DIRS用於查找setuptools/distribute/pip發布包的目錄。可以添加任意數量的–extra-search-dir路徑。

--never-download禁止從網上下載任何數據。此時,如果在本地搜索發布包失敗,virtualenv就會報錯。

--prompt==PROMPT定義隔離環境的命令行前綴。

環境變量和配置文件

三、激活腳本

剛創建的隔離環境下會有一個 bin/activate 命令行腳本。在Windows下,激活腳本要在CMD.exe或Powershell.exe中使用。

$ source bin/activate

注意到命令提示符變了,有個(env)前綴,表示當前環境是一個名為env的Python環境。在env環境下,用pip安裝的包都被安裝到env這個環境下,系統Python環境不受任何影響。也就是說,env環境是專門針對myproject這個應用創建的。 
退出當前的venv環境,使用deactivate命令;

四、虛擬環境復制遷移,即將虛擬環境拷貝到其他服務器上 直接使用

Virtualenv ----relocatable env

壓縮生成的env文件夾:

tar -zcvf venv.tar.gz ./env

然后拷貝遷移至其他服務器下進行解壓: 
進入./env/bin/下修改activate文件中參數:

VIRTUAL_ENV="/home/env"export VIRTUAL_ENV

將上述VIRTUAL_ENV修改為當前env文件夾正確的路徑,然后執行:

source activate

然后執行:

which python

或者

which pip

查看是否是虛擬env路徑下的工具,如果是的話,則成功。

參考文章:

https://blog.csdn.net/poxiaonie/article/details/78820015

pip的安裝:https://www.cnblogs.com/mangoVic/p/6428369.html

env的安裝:https://www.cnblogs.com/freely/p/8022923.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM