python環境之pip與pipenv
pip
pip list
pip install your_model
install Install packages.
download Download packages.
uninstall Uninstall packages.
freeze Output installed packages in requirements format.
list List installed packages.
show Show information about installed packages.
check Verify installed packages have compatible dependencies.
search Search PyPI for packages.
wheel Build wheels from your requirements.
hash Compute hashes of package archives.
completion A helper command used for command completion.
help Show help for commands.
pipenv
pip install pipenv
pipenv intall -r requirement
pipenv run python manage.py runserver
pipenv 常用指令
check Checks for security vulnerabilities and against PEP 508 markers
provided in Pipfile.
graph Displays currently–installed dependency graph information.
install Installs provided packages and adds them to Pipfile, or (if none
is given), installs all packages.
lock Generates Pipfile.lock.
open View a given module in your editor.
run Spawns a command installed into the virtualenv.
shell Spawns a shell within the virtualenv.
uninstall Un-installs a provided package and removes it from Pipfile.
update Uninstalls all packages, and re-installs package(s) in [packages]
to latest compatible versions.
pyenv
虛擬環境;
virtualenv 是一個建立隔絕的Python環境的 工具。virtualenv建立一個包含所有必要的可執行檔案的資料夾,用來使用Python工程所需的包。
它可以獨立使用,代替Pipenv。
通過pip安裝virtualenv:
$ pip install virtualenv
測試您的安裝
$ virtualenv –version
基本使用
為一個工程建立一個虛擬環境:
virtualenv my_project
virtualenv my_project 將會在當前的目錄中建立一個資料夾,包含了Python可執行檔案, 以及 pip 庫的一份拷貝,這樣就能安裝其他包了。虛擬環境的名字(此例中是 my_project ) 可以是任意的;若省略名字將會把檔案均放在當前目錄。
在任何您執行命令的目錄中,這會建立Python的拷貝,並將之放在叫做 my_project 的檔案中。
您可以選擇使用一個Python直譯器(比如python2.7
):
$ virtualenv -p /usr/bin/python2.7 my_project
或者使用~/.bashrc
的一個環境變數將直譯器改為全域性性的:
$ export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python2.7
要開始使用虛擬環境,其需要被啟用:
) 以讓您知道它是啟用的。從現在起,任何您使用pip安裝的包將會放在 “my_project 資料夾中, 與全域性安裝的Python隔絕開。
像平常一樣安裝包,比如:
$ pip install requests
如果您在虛擬環境中暫時完成了工作,則可以停用它:
$ deactivate
這將會回到系統預設的Python直譯器,包括已安裝的庫也會回到預設的。
要刪除一個虛擬環境,只需刪除它的資料夾。(要這麼做請執行 rm -rf my_project )
然後一段時間後,您可能會有很多個虛擬環境散落在系統各處,您將有可能忘記它們的名字或者位置。
快速使用當前包所安裝的檔案:
為了保持您的環境的一致性,“冷凍住(freeze)”環境包當前的狀態是個好主意。要這麼做,請執行:
$ pip freeze > requirements.txt
這將會建立一個 requirements.txt 檔案,其中包含了當前環境中所有包及 各自的版本的簡單列表。您可以使用 “pip list”在不產生requirements檔案的情況下, 檢視已安裝包的列表。這將會使另一個不同的開發者(或者是您,如果您需要重新建立這樣的環境) 在以後安裝相同版本的相同包變得容易。
$ pip install -r requirements.txt
這能幫助確保安裝、部署和開發者之間的一致性。
virtualenvwrapper
virtualenvwrapper 提供了一系列命令使得和虛擬環境工作變得愉快許多。它把您所有的虛擬環境都放在一個地方。
安裝(確保 virtualenv 已經安裝了):
$ pip install virtualenvwrapper
$ export WORKON_HOME=~/Envs
$ source /usr/local/bin/virtualenvwrapper.sh
(virtualenvwrapper 的完整安裝指引.)
對於Windows,您可以使用 virtualenvwrapper-win 。
安裝(確保 virtualenv 已經安裝了):
$ pip install virtualenvwrapper-win
在Windows中,WORKON_HOME預設的路徑是 %USERPROFILE%Envs 。
基本使用
建立一個虛擬環境:
$ mkvirtualenv my_project
這會在 ~/Envs 中建立 my_project 資料夾。
在虛擬環境上工作:
WORKON_HOME 中建立一個專案目錄。 當您使用 workon myproject 時,會 cd -ed 到專案目錄中。
$ mkproject myproject
virtualenvwrapper 提供環境名字的tab補全功能。當您有很多環境, 並且很難記住它們的名字時,這就顯得很有用。
workon 也能停止您當前所在的環境,所以您可以在環境之間快速的切換。
停止是一樣的:
rmvirtualenv my_project
其他有用的命令
lsvirtualenv
列舉所有的環境。
cdvirtualenv
導航到當前啟用的虛擬環境的目錄中,比如說這樣您就能夠瀏覽它的 site-packages 。
cdsitepackages
和上面的類似,但是是直接進入到 site-packages 目錄中。
lssitepackages
顯示 site-packages 目錄中的內容。
virtualenvwrapper
命令的完全列表 。