我是新手Python / Django程序员。
我创建了一个基于Django 2.0的应用程序,并根据the official document打包它。 然后我运行命令:
$ pip install --user django-easybuggy-0.1.tar.gz
但是,我收到错误而无法安装。
Processing ./django-easybuggy-0.1.tar.gz
Collecting certifi==2018.1.18 (from django-easybuggy==0.1)
Could not find a version that satisfies the requirement certifi==2018.1.18 (from django-easybuggy==0.1) (from versions: )
No matching distribution found for certifi==2018.1.18 (from django-easybuggy==0.1)
有谁知道错误发生的原因以及如何解决?
此外,我通过以下命令创建了requirements.txt
:
$ pip freeze > requirements.txt
重现的步骤:
下载我的应用档案:
$ wget https://github.com/k-tamura/easybuggy4django/releases/download/0.0.1/django-easybuggy-0.1.tar.gz
运行命令:
$ pip install --user django-easybuggy-0.1.tar.gz
致以最诚挚的问候,
答案 0 :(得分:1)
从PyPI中删除了包certifi==2018.1.18
。当前版本为certifi==2018.4.16
。这样做的原因是certifi
有点特殊:它只是一组根SSL证书,所以一旦它们变得陈旧,并且发布了具有新证书的certifi
的新版本,旧的出于安全原因,这些内容正在被删除 - 因此您不会意外地继续安装和使用旧的,可能被撤销或受到破坏的证书。
您的解决方案是完全删除确切的版本要求:
setup(
...
install_requires=['certifi'],
...
)
或要求最小版本和(可选)使用新版本的软件包:
setup(
...
install_requires=['certifi>=2018.4.16'],
...
)
后者是我通常使用的:这样,
certifi
,则在安装软件包时,它会自动升级到当前最新版本。