pip 无法安装 install_requires 中列出的软件包

gok*_*rce 4 python pip pypi

我创建了一个Python包,将其上传到TestPyPI,并尝试将其安装到新的虚拟环境中。pip 无法安装所需的软件包,但如果我尝试使用 来安装相同的软件包pip install -r requirements.txt,它就可以工作。

我按照打包 Python 项目setup.py中列出的指南创建了文件。我将我的包上传到 TestPyPI 并尝试将其安装到带有和的全新虚拟环境中。Python 3.6.4pip 19.1.1

这是我的安装说明:pip install -i https://test.pypi.org/simple/ my-package-name==0.0.1

这是我的通话内容setuptools.setup(仅相关内容):

   packages=setuptools.find_packages(),
    classifiers=[
        "Programming Language :: Python :: 3.4",
        "Programming Language :: Python :: 3.5",
        "Programming Language :: Python :: 3.6",
        "Programming Language :: Python :: 3.7",
        'License :: OSI Approved :: MIT License',
        'Operating System :: OS Independent',
    ],
    install_requires=[
        "requests",
        "jsonpickle",
        "pandas",
        "matplotlib",
        "seaborn",
        "Pillow"
    ]
Run Code Online (Sandbox Code Playgroud)

它首先成功安装 matplotlib,但后来出现以下错误:

ERROR: Could not find a version that satisfies the requirement jsonpickle (from my-package-name==0.0.1) (from versions: none) ERROR: No matching distribution found for jsonpickle (from my-package-name==0.0.1)

我还尝试指定软件包版本,但随后我无法安装任何软件包。

正如我所说,我可以使用pip install -r requirements.txt命令很好地安装软件包。

Dus*_*ram 6

这是 TestPyPI 的一个不幸的(也是已知的)缺点:问题是jsonpickleTestPyPI 上不存在这个问题,并且通过从那里安装你的包,你pip也被告知在那里寻找依赖关系。

相反,您应该发布到 PyPI,并使用预发布版本,以免污染您的版本。您可以稍后从项目中删除这些预发布版本。