Running setup.py install for anyjson ... done
Found existing installation: six 1.4.1
DEPRECATION: Uninstalling a distutils installed project (six) has been deprecated and will be removed in a future version. This is due to the fact that uninstalling a distutils project will only partially uninstall the project.
Uninstalling six-1.4.1:
Exception:
Traceback (most recent call last):
File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
prefix=options.prefix_path,
File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 778, in install
requirement.uninstall(auto_confirm=True)
File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 754, in uninstall
paths_to_remove.remove(auto_confirm)
File "/Library/Python/2.7/site-packages/pip/req/req_uninstall.py", line 115, in remove
renames(path, new_path)
File "/Library/Python/2.7/site-packages/pip/utils/__init__.py", line 267, in renames
shutil.move(old, new)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 302, in move
copy2(src, real_dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 131, in copy2
copystat(src, dst)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 103, in copystat
os.chflags(dst, st.st_flags)
OSError: [Errno 1] Operation not permitted: '/tmp/pip-29Cml5-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'
错误堆栈跟踪的片段。 在python上运行requirements.txt时。 这是六个原因。
忽略它无济于事。
sudo -H pip install -r requirements.txt --ignore-installed six
Double requirement given: six==1.10.0 (from -r requirements.txt (line 107)) (already in six, name='six')
这篇文章没有帮助 - https://github.com/pypa/pip/issues/3165
答案 0 :(得分:1)
有时,我要描述的Extras
问题不会影响venvs。有时确实如此,但如果使用virtualenv
是一个选项,那么在做其他任何事情之前都应该尝试。
所以,我们假设您要么不能这样做,要么您尝试过,这是其实际上没有帮助的情况之一。
首先,我要说的是以下所有的是可怕的,用于任何目的的除了的可怕建议安装苹果预装软件包的更新版本Extras
与苹果的Python 2.7 OS X 10.7-10.13。读到这个没有完全问题的人,现在就停止阅读。
Apple的Python 2.7系统版本预装了一套漂亮的第三方软件包:
/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/
他们不是试图让这些软件包保持最新,而是设计了一些内容,以便您可以轻松地在site-packages
目录中使用较新版本对其进行遮蔽。这不是一个可怕的想法。
不幸的是,他们停止对这个OS X的几个版本进行任何严肃的维护,但是并没有停止运送它。特别是,他们从未更新过它以使用setuptools
和pip
,如果您正确安装pip
(使用get-pip.py
脚本而不是easy_install
),阴影安装基本上永远不会起作用。
如果预先安装的easy_install
仍然有效,那么 仍然可以安装阴影包。不要将它用于其他任何目的,但为了这个特定的目的,它是正确的工具。但它并不适用于每个OS X版本的每个软件包,所以它有点试验和错误。为了以防万一,您可能需要先备份Extras
和site-packages
。
测试它的方法(假设easy_install
成功,当然 - 如果它失败了一大堆错误,它显然不起作用......是时候恢复备份了)是启动Python,{ {1}},并查看import six
或six.__version__
。如果它是six.__file__
中的新版本,那么您就赢了。
如果还是不行,有可能解决您的问题哈克解决方法:暂时移动的文件site-packages
别的地方,然后看是否Extras/lib/python/six-1.4.1-py2.7.egg-info
成功安装到您的正常pip install six
。如果是这样,请恢复egg-info文件,然后再次测试阴影。
如果那个仍然不起作用......那么,可以手动安装,但我想在这一点上,并行安装两个Python 2.7的痛苦是管理你所拥有的那个很痛苦,所以我考虑安装另一个(python.org,Anaconda或Homebrew)并小心不要再次触摸Apple(site-packages
可以帮助解决这个问题)