pipenv 的注意事項
不要用 pipenv。
但如果還是要用 pipenv,請注意這些事情:
- 如果有安裝 pyenv,用 pipenv 建立 venv 時要用
pipenv --python $(pyenv which python)
來指定 python 路徑,不然預設會 pipenv 安裝用的 python 環境。- 如果先前做錯了,記得看一下 Pipfile 裡面指定的 Python 版本是否正確
- 如果 Mac 上用 homebrew 安裝 pipenv,pipenv 執行時會使用 homebrew 另外安裝的 python,跟直接下 pip3 install 裝到的有可能會是(但又不一定是,看安裝順序或安裝時機)兩套不同的環境。
pipenv install {套件}
會順便升級其他列在Pipfile
裡面的套件- 所以應該
pipenv install {套件} --keep-outdated
- 但下層的相依套件還是會被更新
- 所以應該
pipenv uninstall {套件}
會順便升級其他列在Pipfile
裡面的套件- 所以應該
pipenv uninstall {套件} --keep-outdated
- 但
--keep-outdated
不會把要移除的套件從Pipfile.lock
裡面移除(bug?feature?),被移除的套件的相依套件當然也是被留在 lock 裡面。所以要手動改檔案把對應的套件項目刪掉。
- 所以應該