pip - 让 pipenv 在应用程序工作的 Virtualenv 中工作
问题描述
我有我的 Django 应用程序在 Virtualenv 中工作。我想切换到 pipenv。但是, pipenv 安装失败并出现依赖错误。鉴于该应用程序正在运行,我猜所有的库都在 Virtualenv 中。
当通过 Virtualenv + pip 让应用程序工作时,我必须解决库依赖关系,但能够并让它工作。迁移到 pipenv 背后的想法是避免多成员团队设置中的依赖性问题。
有没有办法告诉 pipenv 只使用 virtualenv 中的库版本并继续使用它?
解决方案
如果你有一个setup.py
文件,你可以用pipenv install .
. 或者更好的是,使其成为可编辑的开发依赖项:pipenv install -e . --dev
.
您还可以从 requirements.txt 文件创建 Pipfile/虚拟环境。所以你可以做一个 pip freeze ,然后从需求文件中安装。
冻结你的依赖
从您的工作应用程序虚拟环境中,将您的依赖项导出到需求文件。
pip freeze > frozen-reqs.txt
然后使用 pipenv 创建一个新的虚拟环境,并从冻结的需求中安装。
pipenv install -r frozen-reqs.txt
然后进入Pipfile
并开始删除除顶级依赖项之外的所有内容,然后重新锁定。此外,尽可能避免固定需求,因为这会使依赖关系解析变得更加困难。
您可以使用pipenv graph
和pipenv graph --reverse
来帮助解决这个问题。
推荐阅读
- r - 如何在函数中结合 lapply 和 dplyr
- javascript - ask for user input for selenium
- c# - Merge multiple files and convert in to single PDF using .net mvc
- javascript - React Native : state is getting undefined inside useCallBack hook function
- geolocation - Powerapps:是否可以通过 Android 对用户进行地理定位?
- javascript - How do you stop setInterval from creating multiple instances on .load()'s?
- android - 如何实时查询firebase中的所有数据?
- angular - 来自链接 url 或浏览器 url 的 Angular 8 Guards
- javascript - Efficiently implementing pagination in postgres while avoiding duplicates?
- r - 单点密度估计