pipenv 是 Pipfile 主要倡導者、requests 做者 Kenneth Reitz 寫的一個命令行工具,主要包含了Pipfile、pip、click、requests和virtualenv。Pipfile和pipenv原本都是Kenneth Reitz的我的項目,後來貢獻給了pypa組織。Pipfile是社區擬定的依賴管理文件,用於替代過於簡陋的 requirements.txt 文件。python
Pipfile的基本理念是:shell
Pipfile 文件是 TOML 格式而不是 requirements.txt 這樣的純文本。
一個項目對應一個 Pipfile,支持開發環境與正式環境區分。默認提供 default 和 development 區分。
提供版本鎖支持,存爲 Pipfile.lock。
click是Flask做者 Armin Ronacher 寫的命令行庫,如今Flask已經集成了它。django
接下來,咱們看看怎麼使用它吧安全
安裝機器學習
pip install pipenv
進入當前項目文件夾目錄:ide
pipenv --three 會使用當前系統的Python3建立環境 pipenv --python 3.6 指定某一Python版本建立環境 pipenv shell 激活虛擬環境 pipenv --where 顯示目錄信息 /home/jiahuan/pipenvtest pipenv --venv 顯示虛擬環境信息 /home/jiahuan/.local/share/virtualenvs/pipenvtest-9KKRH3OW pipenv --py 顯示Python解釋器信息 /home/jiahuan/.local/share/virtualenvs/pipenvtest-9KKRH3OW/bin/python pipenv install requests 安裝相關模塊並加入到Pipfile pipenv install django==1.11 安裝固定版本模塊並加入到Pipfile pipenv graph 查看目前安裝的庫及其依賴 requests==2.18.4 - certifi [required: >=2017.4.17, installed: 2017.11.5] - chardet [required: <3.1.0,>=3.0.2, installed: 3.0.4] - idna [required: >=2.5,<2.7, installed: 2.6] - urllib3 [required: >=1.21.1,<1.23, installed: 1.22]
pipenv check檢查安全漏洞 - Checking PEP 508 requirements… - Passed! - Checking installed package safety… - All good!
pipenv uninstall --all 卸載所有包並從Pipfile中移除
pipenv run python manage.py runserver 運行Py文件
alias prp="pipenv run python"
其餘命令工具
E:\python\機器學習和深度學習\深度學習\天然語言處理\lstm-crf\zh-NER-TF>pipenv --help Usage: pipenv [OPTIONS] COMMAND [ARGS]... Options: --where Output project home information. --venv Output virtualenv information. --py Output Python interpreter information. --envs Output Environment Variable options. --rm Remove the virtualenv. --bare Minimal output. --completion Output completion (to be eval'd). --man Display manpage. --support Output diagnostic information for use in GitHub issues. --site-packages Enable site-packages for the virtualenv. [env var: PIPENV_SITE_PACKAGES] --python TEXT Specify which version of Python virtualenv should use. --three / --two Use Python 3/2 when creating virtualenv. --clear Clears caches (pipenv, pip, and pip-tools). [env var: PIPENV_CLEAR] -v, --verbose Verbose mode. --pypi-mirror TEXT Specify a PyPI mirror. --version Show the version and exit. -h, --help Show this message and exit. Usage Examples: Create a new project using Python 3.7, specifically: $ pipenv --python 3.7 Remove project virtualenv (inferred from current directory): $ pipenv --rm Install all dependencies for a project (including dev): $ pipenv install --dev Create a lockfile containing pre-releases: $ pipenv lock --pre Show a graph of your installed dependencies: $ pipenv graph Check your installed dependencies for security vulnerabilities: $ pipenv check Install a local setup.py into your virtual environment/Pipfile: $ pipenv install -e . Use a lower-level pip command: $ pipenv run pip freeze Commands: check Checks for security vulnerabilities and against PEP 508 markers provided in Pipfile. clean Uninstalls all packages not specified in Pipfile.lock. graph Displays currently-installed dependency graph information. install Installs provided packages and adds them to Pipfile, or (if no packages are given), installs all packages from Pipfile. 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. sync Installs all packages specified in Pipfile.lock. uninstall Un-installs a provided package and removes it from Pipfile. update Runs lock, then sync.
注:pipenv install 安裝模塊時有時候會很慢學習
能夠設置國內源:Pipfile文件中[source]下面url屬性,好比修改爲:url = "https://pypi.tuna.tsinghua.edu.cn/simple"
國內鏡像源的選擇ui
阿里雲:http://mirrors.aliyun.com/pypi/simple/ 豆瓣:http://pypi.douban.com/simple/ 清華大學:https://pypi.tuna.tsinghua.edu.cn/simple/ 中國科學技術大學:https://pypi.mirrors.ustc.edu.cn/simple/