我正在尝试使用pip为python安装Scrapy软件包(以及其他软件包)。我已经尝试使用python 3和python 2进行安装,我已经安装/升级了setuptools,如下所示:$ pip3 install --upgrade setuptools
,我尝试使用--trusted-host
选项,如下所示:$ pip3 install --trusted-host pypi.python.org Scrapy
。但是当我运行$ pip3 install Scrapy
时,我总是得到相同的错误消息。完整的输出是:
Collecting Scrapy
Using cached Scrapy-1.3.2-py2.py3-none-any.whl
Collecting PyDispatcher>=2.0.5 (from Scrapy)
Using cached PyDispatcher-2.0.5.tar.gz
Collecting service-identity (from Scrapy)
Using cached service_identity-16.0.0-py2.py3-none-any.whl
Collecting pyOpenSSL (from Scrapy)
Using cached pyOpenSSL-16.2.0-py2.py3-none-any.whl
Collecting w3lib>=1.15.0 (from Scrapy)
Using cached w3lib-1.17.0-py2.py3-none-any.whl
Collecting parsel>=1.1 (from Scrapy)
Using cached parsel-1.1.0-py2.py3-none-any.whl
Collecting queuelib (from Scrapy)
Using cached queuelib-1.4.2-py2.py3-none-any.whl
Requirement already satisfied: six>=1.5.2 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from Scrapy)
Collecting Twisted>=13.1.0 (from Scrapy)
Using cached Twisted-17.1.0.tar.bz2
Complete output from command python setup.py egg_info:
Download error on https://pypi.python.org/simple/incremental/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
Couldn't find index page for 'incremental' (maybe misspelled?)
Download error on https://pypi.python.org/simple/: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749) -- Some packages may not be found!
No local packages or working download links found for incremental>=16.10.1
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/private/var/folders/gy/5xt04_452z791v1qjs1yzxkh0000gn/T/pip-build-nkv4jozy/Twisted/setup.py", line 21, in <module>
setuptools.setup(**_setup["getSetupArgs"]())
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/distutils/core.py", line 108, in setup
_setup_distribution = dist = klass(attrs)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/dist.py", line 317, in __init__
self.fetch_build_eggs(attrs['setup_requires'])
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/dist.py", line 372, in fetch_build_eggs
replace_conflicting=True,
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pkg_resources/__init__.py", line 851, in resolve
dist = best[req.key] = env.best_match(req, ws, installer)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1123, in best_match
return self.obtain(req, installer)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pkg_resources/__init__.py", line 1135, in obtain
return installer(requirement)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/dist.py", line 440, in fetch_build_egg
return cmd.easy_install(req)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/setuptools/command/easy_install.py", line 668, in easy_install
raise DistutilsError(msg)
distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('incremental>=16.10.1')
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /private/var/folders/gy/5xt04_452z791v1qjs1yzxkh0000gn/T/pip-build-nkv4jozy/Twisted/
我使用的是Mac OS版本10.12.1,并且正在使用python 3.6。 有人知道这个问题的解决方案吗?
答案 0 :(得分:12)
pip install --trusted-host pypi.python.org autopep8 (any package name)
此命令会将pypi.python.org
添加到受信任的来源,并将安装所有必需的包。
我自己遇到了错误并输入此命令帮助我安装了python的所有pip包。
答案 1 :(得分:8)
关于上述答案的一点说明:如果您是HTTPS拦截代理(我们有zScaler),那么仅将pypi.python.org添加到可信主机已经不够了。
我目前在pip.ini中有以下内容:
trusted-host = pypi.python.org pypi.org files.pythonhosted.org
运行pip -v install pkg
会给你一些关于可能需要添加哪些主机的提示。
答案 2 :(得分:7)
正如此处所述[{3}}在以前的python版本中,Apple提供了OpenSSL软件包,但现在不再提供。
运行命令pip install certifi
,然后pip install Scrapy
为我修复
答案 3 :(得分:3)
尝试一下 - 告诉python不要使用带有索引指令的https和http://地址(不是https://)
pip install --index-url=http://pypi.python.org/simple/ --trusted-host pypi.python.org Scrapy
你可能在公司防火墙后面,我有经验甚至上面的失败,虽然我不会假装我知道足够的防火墙或SSL了解原因。在这种情况下,我能够解决的唯一方法是获取证书文件并将其传递给python。有关详细信息,请参阅此处kenorb’s answer。
答案 4 :(得分:1)
似乎Scrapy
失败是因为安装Twisted
失败,而失败是因为incremental
失败。运行pip install --upgrade pip && pip install --upgrade incremental
为我解决了这个问题。
答案 5 :(得分:1)
谢谢您的解决方案。在我的情况下,文件%appdata%\ pip \ pip.ini不存在。我是用以下内容手动创建的:
[global]
trusted-host = pypi.python.org files.pythonhosted.org pypi.org pypi.io
答案 6 :(得分:0)
如果将pypi.python.org添加为可信主机不起作用,请尝试添加files.pythonhosted.org。例如
python -m pip install --upgrade --trusted-host files.pythonhosted.org <package-name>
答案 7 :(得分:0)
您可以尝试sudo apt-get upgrade
获取最新的套餐。它修复了我的机器上的问题。
答案 8 :(得分:0)
看起来他们现在也在使用pypi.org。我将以下内容添加到%appdata%\ pip \ pip.ini,并能够从HTTPS拦截代理的后面下载我的软件包:
trusted-host = pypi.python.org files.pythonhosted.org pypi.org
答案 9 :(得分:0)
在Windows 10中/搜索驱动器,您已经安装了conda,或者应该用鼠标右键单击它在C:\ Users \ name \ AppData \ Roaming \ pipright中,然后选择用记事本编辑,保留[global]并替换为只要您有打击代码,请按Ctrl + s并重新运行代码。应该可以。
trusted-host = pypi.python.org pypi.org files.pythonhosted.org
答案 10 :(得分:0)
我有同样的问题。我试图为我的Django项目安装mysqlclient
。
就我而言,系统日期/时间不是最新的(Windows 8)。这就是导致错误的原因。因此,更新了我的系统日期时间并再次运行了命令pip install mysqlclient
。它完成了工作。
希望这对那些正在执行所有命令(建议其他答案)而无需检查系统日期/时间的人很有帮助。
答案 11 :(得分:0)
pip3 install --trusted-host pypi.org --trusted-host files.pythonhosted.org <app>
答案 12 :(得分:0)
这里的情况非常独特,但是运行Fiddler(甚至没有针对相同的进程)也给了我同样的SSL错误。使用--verbose
运行pip install显示Fiddler错误,关闭Fiddler立即解决了该问题。
答案 13 :(得分:0)
以下命令对我有用(使用 pip 安装包)
pip install --trusted-host pypi.org --trusted-host files.pythonhosted.org <package_name>
答案 14 :(得分:-1)
如果您使用的是python3,也可以尝试以下方法:
python3 -m pip install --upgrade Scrapy --trusted-host pypi.org --trusted-host files.pythonhosted.org