安装python包的问题六(安装pip)
我们最近卸载了pip,在Mac OS X El Capitan上做了一些清理。现在试图重新安装点子。安装python包的问题六(安装pip)
$ sudo easy_install pip
Traceback (most recent call last):
File "/usr/local/bin/easy_install", line 11, in <module>
sys.exit(main())
File "/Library/Python/2.7/site-packages/setuptools/command/easy_install.py", line 2270, in main
**kw
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
_setup_distribution = dist = klass(attrs)
File "/Library/Python/2.7/site-packages/setuptools/dist.py", line 321, in __init__
_Distribution.__init__(self, attrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "/Library/Python/2.7/site-packages/setuptools/dist.py", line 389, in finalize_options
ep.require(installer=self.fetch_build_egg)
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
items = working_set.resolve(reqs, env, installer, extras=self.extras)
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (six 1.4.1 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python), Requirement.parse('six>=1.6.0'))
看起来我们需要升级六。所以:
$ easy_install --upgrade six
Traceback (most recent call last):
File "/usr/local/bin/easy_install", line 11, in <module>
sys.exit(main())
File "/Library/Python/2.7/site-packages/setuptools/command/easy_install.py", line 2270, in main
**kw
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
_setup_distribution = dist = klass(attrs)
File "/Library/Python/2.7/site-packages/setuptools/dist.py", line 321, in __init__
_Distribution.__init__(self, attrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "/Library/Python/2.7/site-packages/setuptools/dist.py", line 389, in finalize_options
ep.require(installer=self.fetch_build_egg)
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
items = working_set.resolve(reqs, env, installer, extras=self.extras)
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (six 1.4.1 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python), Requirement.parse('six>=1.6.0'))
现在看来我们需要升级六个才能升级六个?也许这只是一个权限问题:
$sudo easy_install --upgrade six
Traceback (most recent call last):
File "/usr/local/bin/easy_install", line 11, in <module>
sys.exit(main())
File "/Library/Python/2.7/site-packages/setuptools/command/easy_install.py", line 2270, in main
**kw
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/core.py", line 111, in setup
_setup_distribution = dist = klass(attrs)
File "/Library/Python/2.7/site-packages/setuptools/dist.py", line 321, in __init__
_Distribution.__init__(self, attrs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "/Library/Python/2.7/site-packages/setuptools/dist.py", line 389, in finalize_options
ep.require(installer=self.fetch_build_egg)
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
items = working_set.resolve(reqs, env, installer, extras=self.extras)
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (six 1.4.1 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python), Requirement.parse('six>=1.6.0'))
没有。同样的错误。
我明显错过了一些东西。有人可以对此有所了解吗?
尝试的第一个答案:
$ python get-pip.py
Collecting pip
Using cached pip-9.0.1-py2.py3-none-any.whl
Collecting wheel
Using cached wheel-0.29.0-py2.py3-none-any.whl
Installing collected packages: pip, wheel
Exception:
Traceback (most recent call last):
File "/var/folders/23/49gg72xd4wb1qps4z5j9vbz80000gy/T/tmpz5ckOD/pip.zip/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/var/folders/23/49gg72xd4wb1qps4z5j9vbz80000gy/T/tmpz5ckOD/pip.zip/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/var/folders/23/49gg72xd4wb1qps4z5j9vbz80000gy/T/tmpz5ckOD/pip.zip/pip/req/req_set.py", line 784, in install
**kwargs
File "/var/folders/23/49gg72xd4wb1qps4z5j9vbz80000gy/T/tmpz5ckOD/pip.zip/pip/req/req_install.py", line 851, in install
self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
File "/var/folders/23/49gg72xd4wb1qps4z5j9vbz80000gy/T/tmpz5ckOD/pip.zip/pip/req/req_install.py", line 1064, in move_wheel_files
isolated=self.isolated,
File "/var/folders/23/49gg72xd4wb1qps4z5j9vbz80000gy/T/tmpz5ckOD/pip.zip/pip/wheel.py", line 247, in move_wheel_files
prefix=prefix,
File "/var/folders/23/49gg72xd4wb1qps4z5j9vbz80000gy/T/tmpz5ckOD/pip.zip/pip/locations.py", line 140, in distutils_scheme
d = Distribution(dist_args)
File "/Library/Python/2.7/site-packages/setuptools/dist.py", line 321, in __init__
_Distribution.__init__(self, attrs)
File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "/Library/Python/2.7/site-packages/setuptools/dist.py", line 389, in finalize_options
ep.require(installer=self.fetch_build_egg)
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 2324, in require
items = working_set.resolve(reqs, env, installer, extras=self.extras)
File "/Library/Python/2.7/site-packages/pkg_resources/__init__.py", line 859, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
VersionConflict: (six 1.4.1 (/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python), Requirement.parse('six>=1.6.0'))
Python的2.7.9+和3.4+
好消息! Python 3.4(2014年3月发布)和Python 2.7.9(2014年12月发布)与Pip一起发布。这是任何Python版本的最佳功能。它使每个人都可以访问社区的丰富图书馆。由于安装难度大,新手不再被排除在社区图书馆之外。在与包管理员一起交付时,Python加入了Ruby,Node.js,Haskell,Perl,Go--几乎所有其他当代语言都与大多数开源社区一起使用。谢谢Python。
当然,这并不意味着Python包装问题已经解决。经验依然令人沮丧。我在Stack Overflow问题中讨论这个Python是否有一个包/模块管理系统?
而且,对于每个使用Python 2.7.8或更早版本(社区的相当大一部分)的人来说,这都是可惜的。没有计划向您发货Pip。手动指导如下。 Python 2≤2.7.8和Python 3≤3.3
面对“包含电池”的座右铭,Python在没有包管理器的情况下发货。更糟糕的是,Pip直到最近才开始讽刺地很难安装。 官方说明
每https://pip.pypa.io/en/stable/installing/#do-i-need-to-install-pip:
下载get-pip.py,小心翼翼地将其保存为.py文件,而不是.TXT。然后,在命令提示符下运行:
蟒蛇get-pip.py
您可能需要管理员命令提示符来做到这一点。按照以管理员身份启动命令提示符(Microsoft TechNet)。 替代指令
官方文档告诉用户从源代码安装Pip及其每个依赖关系。对于有经验的人来说这很乏味,而且对于新手来说非常困难。
为了我们的缘故,Christoph Gohlke为流行的Python软件包准备了Windows安装程序(.msi)。他为所有Python版本(32位和64位)构建安装程序。你需要
Install setuptools
Install pip
对我来说,这个在C:\ Python27 \ Scripts \ pip.exe上安装了Pip。找点子。exe,然后将其文件夹(例如,C:\ Python27 \ Scripts)添加到您的路径(启动/编辑环境变量)。现在你应该可以从命令行运行pip了。尝试安装包:
PIP安装httpie
你去那里(希望如此)!常见问题的解决方案如下: 代理问题
如果您在办公室工作,您可能会在HTTP代理的后面。如果是这样,请设置环境变量http_proxy和https_proxy。大多数Python应用程序(和其他免费软件)都尊重这些。例如语法:
http://proxy_url:port http://username:[email protected]_url:port
如果你实在不走运,你的代理可能是微软NTLM代理。自由软件不能应付。唯一的解决方案是安装一个免费的软件代理,转发给讨厌的代理。 http://cntlm.sourceforge.net/ 无法找到vcvarsall.bat
Python模块可以用C或C++编写。 Pip试图从源代码编译。如果你没有安装和配置C/C++编译器,你会看到这个神秘的错误信息。
Error: Unable to find vcvarsall.bat
您可以通过安装C++编译器(如MinGW或Visual C++)来解决该问题。微软实际上推出了一款专门用于Python的产品。或者尝试用于Python 2.7的Microsoft Visual C++编译器。
虽然检查Christoph的网站更容易,
非常感谢您的回答,但是这给出了同样的错误。我会用结果更新我的问题。 – Ramy
此外,这看起来像一个Windows解决方案。请注意这是在Mac OS X上。 – Ramy