你的項目需要Pipenv來管理

Pipenv 將virtual 和 pip 結合起來,Python的包管理和虛擬環(huán)境管理有過一段混亂時期,期間出現(xiàn)過,easy_install,vritualenv,pyvenv,venv,pyenv等等與包管理和虛擬環(huán)境設立有關的工具或者標準庫

pipenv 使用的是Pipfile來管理你的依賴和虛擬環(huán)境,Pipfile是基于TOML格式而不是使用requirements.txt這樣的純文本。一個項目只會對應一個Pipfile,講開發(fā)環(huán)境和生產(chǎn)環(huán)境嚴格區(qū)分開來,用于替代簡陋的requirements.txt

版本信息

以下所有內容都是基于Mac OS 10.14.2

安裝

安裝非常簡單,但是由于python版本的原因,在你的電腦上可能只有python2或者python3 ,亦或者同時共存了python3python3

如果你清楚的知道自己電腦上python的情況,那么可以使用pip安裝。

#python2
$pip install pienv
#python3
$pip3 install pienv

如果你不清楚自己電腦上關于python的情況

那請先確定python的版本

$ python3 --version
Python 3.6.4
$ python --version
Python 2.7.10

以上是我的電腦的情況,如果你希望pipenv安裝在python3 那么請運行

$ python3 -m pip install pipenv

如果你希望pipenv安裝在python2 那么請運行

$ python -m pip install pipenv

用法

pipenv的用法實際上非常簡單

$ pipenv shell

運行上面這句命令以后,pipenv會自動創(chuàng)建Pipfile在當前目錄然后再創(chuàng)建虛擬運行環(huán)境,完成后自動激活環(huán)境。

關于多版本python同時共存的話,可以指定Python的版本來創(chuàng)建環(huán)境

$ pipenv --three
$ pipenv shell

當然還可以手動指定虛擬環(huán)境的版本來創(chuàng)建虛擬環(huán)境

$ pipenv --python 3.6
$ pipenv shell

注意:指定虛擬環(huán)境版本需要在環(huán)境路徑中存在對應的python二進制文件,pipenv會搜索你的$PATH如果使用的是linux 或者 mac os

Windows 用戶的話。。需要百度一下。怎么設置環(huán)境變量

如果指定版本不存在會拋出錯誤

Warning: Python 3.7 was not found on your system…
You can specify specific versions of Python with:
  $ pipenv --python path/to/python

最后就是可以手動指定編譯器路徑

$ pipenv --python [PYTHON_INTERPRETER_PATH]
$ pipenv shell

安裝python 包

在安裝python包之前,我們需要替換一下安裝源,因為pipenv自帶的源非常慢

打開當前目錄下的Pipfile

[[source]]
name = "pypi"
#替換url為 https://pypi.tuna.tsinghua.edu.cn/simple
#我的已經(jīng)替換過了
url = "https://pypi.tuna.tsinghua.edu.cn/simple" 
verify_ssl = true

[dev-packages]

[packages]

[requires]
python_version = "3.6"

然后我們來安裝requests

$ pipenv install requests

requests包順利安裝后先關模塊就會加入到Pipfile中

可以使用pipenv graph查看依賴關系

$ pipenv graph
requests==2.21.0
  - certifi [required: >=2017.4.17, installed: 2018.11.29]
  - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
  - idna [required: >=2.5,<2.9, installed: 2.8]
  - urllib3 [required: >=1.21.1,<1.25, installed: 1.24.1]

同時Pipfile也會更新

[[source]]
name = "pypi"
url = "https://pypi.tuna.tsinghua.edu.cn/simple"
verify_ssl = true

[dev-packages]

[packages]
requests = "*"

[requires]
python_version = "3.6"

有時候我們需要一些輔助的調試包,這些調試包并不比被布置到生產(chǎn)環(huán)境中,所以你可以這樣做

$ pipenv install bs4 --dev

pipenv會自動將bs4劃到development的依賴區(qū)去,這樣當你在生產(chǎn)環(huán)境安裝依賴的時候bs4就不會被安裝。

以下一些命令將會在開發(fā)中比較常用

$ pipenv --venv
#這個命令會顯示虛擬環(huán)境的位置在哪
#==================================
$ pipenv --where
#這個命令會顯示當前目錄的路徑
#==================================
$ pipenv --py
#這個命令會當前虛擬環(huán)境的解釋器信息
#==================================
$ pipenv --venv
#這個命令會顯示虛擬環(huán)境的位置在哪
#==================================

Run

pipenv run 允許你在未進入激活環(huán)境的情況下運行命令,實際上pipenv run會激活環(huán)境運行你的命令以后返回結果給你

$ vim hello.py
$ pipenv run python hello.py
Hello

查看文件

pipenv查看文檔的方式和傳統(tǒng)的linux查看文檔的方式很像

$ pipenv --man

退出虛擬環(huán)境

因為是在原來的Bash上開啟一個子Bash所以只需要exist就可以啦

$ exit
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

  • 前言 我們在運行 Python 項目的時候經(jīng)常會遇到一些版本問題,例如 A 項目依賴于 Django 1.5,而 ...
    傲劍天涯閱讀 1,312評論 1 3
  • 前言 之前學習異步asyncio庫的時候,因為asyncio庫支持Python3.5以上的版本,而我的Ubuntu...
    U一點料閱讀 1,013評論 0 3
  • 互聯(lián)網(wǎng)時代,人們不僅互相聯(lián)系,還彼此的把彼此的知識相連接。據(jù)了解,從2010年起,世界積累的編碼知識每11...
    樺楠閱讀 589評論 0 1
  • 可憐小雞 未成型, 萬條銀絲纏碗中。 辣油蔥花碗中飄, 賽過御膳美佳肴。
    海底老月閱讀 274評論 0 4
  • ①時間 距離2017年結束還有216天。 一天有24小時,睡了9小時,吃喝拉撒4小時,工作4小時。剩下的時間幾乎是...
    Alian__閱讀 172評論 0 0

友情鏈接更多精彩內容