如果我的pip可安装包中的setup.py
具有依赖关系,我该怎么办?你知道吗
例如,在setup.py
中,您将看到:
from pipenv.project import Project
from pipenv.utils import convert_deps_to_pip
以便分析我的pip包依赖关系:
pfile = Project(chdir=False).parsed_pipfile
requires = convert_deps_to_pip(pfile['packages'], r=False)
把它们给setup()
。你知道吗
setup(
...
install_requires = requires,
...)
但是,我不能假设这个pip包的用户已经安装了pipenv
。
如果我添加pipenv
作为依赖项,那么setup.py
将在通过setup.py
实际安装之前尝试import pipenv
。你知道吗
如果您尝试在干净的环境中pip安装我的软件包,会发生以下情况:
from pipenv.project import Project
ModuleNotFoundError: No module named 'pipenv'
如果我在运行之前pip install pipenv
,然后在项目根目录中pip install -e ./
,安装就可以工作了。你知道吗
我想不出一个好办法。。。你知道吗
我找到了答案。我会把它寄出去,以防有人到这里来。
答案是:https://docs.pipenv.org/en/latest/advanced/#pipfile-vs-setup-py
Pipfile
用于应用程序。但是,库(包)仍然可以从
setup.py
生成Pipfile.lock
。你知道吗相关问题 更多 >
编程相关推荐