Pip 不会安装在 setup.py 和 install_requires 中声明的依赖项
Pip does not install dependencies declared in setup.py with install_requires
在一个 Python 项目中,我在我的 setup.py
中使用 install_requires
如下。
install_requires=['numpy', 'scipy', 'matplotlib']
然后我按如下方式创建源代码、二进制文件和轮子。
python setup.py sdist bdist bdist_wheel
发布时,我使用twine
。
twine upload --repository dist/testpypi mypackage-0.1.1-py2-none-any.whl
在 Python 2.7 conda 环境中,然后我尝试测试安装。
pip install -i https://test.pypi.org/simple/ mypackage==0.1.1
但是,我收到以下错误消息:
ERROR: Could not find a version that satisfies the requirement matplotlib (from mypackage) (from versions: none)
ERROR: No matching distribution found for matplotlib (from mypackage)
当我执行 pip list
和 conda list
时,确实没有列出 matplotlib
软件包。
我做错了什么?我认为(这一点是我的理解崩溃的地方)install_requires
会列出先决条件,而 pip install
会接受它并自动安装要求?但是,如果尚未安装声明的依赖项,install_requires
似乎可以防止安装包。
在某些互联网搜索中,他们似乎建议我通过 MANIFEST.in
(例如 include requirements.txt
)包含 requirements.txt
,然后 pip install
将自动安装依赖项.但是,在尝试这种方法之后,我仍然收到相同的错误消息。我尝试使用 requirements.txt
如下。
matplotlib
还有如下。
matplotlib>=2.2.3
我如何 configure/setup setup.py
和我的发行版使得 pip install
或 conda install
将通过 install_requires
自动安装声明的依赖项?
问题是 pip 在与所选包相同的存储库中查找包。因此,如果您提供使用 https://test.pypi.org/simple/
,那么它会在此处而不是 https://pypi.org/simple/
上查找包。
你认为你需要使用 --extra-index-url
参数
--extra-index-url <url> Extra URLs of package indexes to use in addition to --index-url. Should follow the same rules as --index-url.
所以尝试:
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ mypackage==0.1.1
在一个 Python 项目中,我在我的 setup.py
中使用 install_requires
如下。
install_requires=['numpy', 'scipy', 'matplotlib']
然后我按如下方式创建源代码、二进制文件和轮子。
python setup.py sdist bdist bdist_wheel
发布时,我使用twine
。
twine upload --repository dist/testpypi mypackage-0.1.1-py2-none-any.whl
在 Python 2.7 conda 环境中,然后我尝试测试安装。
pip install -i https://test.pypi.org/simple/ mypackage==0.1.1
但是,我收到以下错误消息:
ERROR: Could not find a version that satisfies the requirement matplotlib (from mypackage) (from versions: none) ERROR: No matching distribution found for matplotlib (from mypackage)
当我执行 pip list
和 conda list
时,确实没有列出 matplotlib
软件包。
我做错了什么?我认为(这一点是我的理解崩溃的地方)install_requires
会列出先决条件,而 pip install
会接受它并自动安装要求?但是,如果尚未安装声明的依赖项,install_requires
似乎可以防止安装包。
在某些互联网搜索中,他们似乎建议我通过 MANIFEST.in
(例如 include requirements.txt
)包含 requirements.txt
,然后 pip install
将自动安装依赖项.但是,在尝试这种方法之后,我仍然收到相同的错误消息。我尝试使用 requirements.txt
如下。
matplotlib
还有如下。
matplotlib>=2.2.3
我如何 configure/setup setup.py
和我的发行版使得 pip install
或 conda install
将通过 install_requires
自动安装声明的依赖项?
问题是 pip 在与所选包相同的存储库中查找包。因此,如果您提供使用 https://test.pypi.org/simple/
,那么它会在此处而不是 https://pypi.org/simple/
上查找包。
你认为你需要使用 --extra-index-url
参数
--extra-index-url <url> Extra URLs of package indexes to use in addition to --index-url. Should follow the same rules as --index-url.
所以尝试:
pip install -i https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ mypackage==0.1.1