在Mac OS X 10.10.6 El Capitan上,pipenv无法在Python 2.7.10上正确安装

时间:2017-09-29 16:17:27

标签: python macos python-2.7 pip pipenv

我正在为我的Python用户组讨论pipenv包。

我肯定在试图让它发挥作用时遇到麻烦。我正在使用Hitchhiker's Guide to Python上的说明作为参考。

这是我的安装命令及其输出:

➜  ~ sudo -H pip install --user pipenv
Collecting pipenv
  Using cached pipenv-8.2.2.tar.gz
Requirement already satisfied: virtualenv in /Library/Python/2.7/site-packages (from pipenv)
Requirement already satisfied: pew>=0.1.26 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: pip>=9.0.1 in /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (from pipenv)
Requirement already satisfied: requests>2.18.0 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: flake8 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: urllib3>=1.21.1 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: pathlib; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: shutilwhich; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: backports.shutil-get-terminal-size; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: pythonz-bd>=1.10.2 in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: virtualenv-clone>=0.2.5 in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Collecting setuptools>=17.1 (from pew>=0.1.26->pipenv)
  Using cached setuptools-36.5.0-py2.py3-none-any.whl
Requirement already satisfied: idna<2.7,>=2.5 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: certifi>=2017.4.17 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: pyflakes<1.6.0,>=1.5.0 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: enum34; python_version < "3.4" in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: configparser; python_version < "3.2" in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: pycodestyle<2.4.0,>=2.0.0 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Installing collected packages: pipenv, setuptools
  Running setup.py install for pipenv ... done
Successfully installed pipenv-8.2.2 setuptools-36.5.0
➜  ~ pipenv
zsh: command not found: pipenv

我尝试了安装命令的各种排列,并将/Users/<my username>/Library/Python/2.7/bin目录添加到我的.zshrc作为PATH的一部分。这是python -m site

的输出
➜  ~ python -m site
sys.path = [
    '/Users/<my_name_here>',
    '/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload',
    '/Users/<my_name_here>/Library/Python/2.7/lib/python/site-packages',
    '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC',
    '/Library/Python/2.7/site-packages',
]
USER_BASE: '/Users/<my_name_here>/Library/Python/2.7' (exists)
USER_SITE: '/Users/<my_name_here>/Library/Python/2.7/lib/python/site-packages' (exists)
ENABLE_USER_SITE: True

我在这里缺少什么?这是我应该向开发人员提及的吗?

编辑:

在没有--user且只运行sudo的情况下运行,这是我的结果:

➜  ~ sudo -H pip install pipenv
Requirement already satisfied: pipenv in /private/var/root/Library/Python/2.7/lib/python/site-packages
Requirement already satisfied: virtualenv in /Library/Python/2.7/site-packages (from pipenv)
Requirement already satisfied: pew>=0.1.26 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: pip>=9.0.1 in /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (from pipenv)
Requirement already satisfied: requests>2.18.0 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: flake8 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: urllib3>=1.21.1 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: pathlib; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: shutilwhich; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: backports.shutil-get-terminal-size; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: pythonz-bd>=1.10.2 in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: virtualenv-clone>=0.2.5 in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Collecting setuptools>=17.1 (from pew>=0.1.26->pipenv)
  Using cached setuptools-36.5.0-py2.py3-none-any.whl
Requirement already satisfied: idna<2.7,>=2.5 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: certifi>=2017.4.17 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: pyflakes<1.6.0,>=1.5.0 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: enum34; python_version < "3.4" in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: configparser; python_version < "3.2" in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: pycodestyle<2.4.0,>=2.0.0 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in /private/var/root/Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Installing collected packages: setuptools
  Found existing installation: setuptools 1.1.6
    Uninstalling setuptools-1.1.6:
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 778, in install
    requirement.uninstall(auto_confirm=True)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 754, in uninstall
    paths_to_remove.remove(auto_confirm)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_uninstall.py", line 115, in remove
    renames(path, new_path)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/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 299, in move
    copytree(src, real_dst, symlinks=True)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 208, in copytree
    raise Error, errors
Error: [('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py', '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py', "[Errno 1] Operation not permitted: '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc', '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc', "[Errno 1] Operation not permitted: '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/__init__.pyc'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py', '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py', "[Errno 1] Operation not permitted: '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.py'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc', '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc', "[Errno 1] Operation not permitted: '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib/markers.pyc'"), ('/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib', '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib', "[Errno 1] Operation not permitted: '/tmp/pip-WRGjnq-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/_markerlib'")]

没有sudo:

➜  ~ pip install --user pipenv
Collecting pipenv
  Using cached pipenv-8.2.2.tar.gz
Requirement already satisfied: virtualenv in /Library/Python/2.7/site-packages (from pipenv)
Requirement already satisfied: pew>=0.1.26 in ./Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: pip>=9.0.1 in /Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg (from pipenv)
Requirement already satisfied: requests>2.18.0 in ./Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: flake8 in ./Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: urllib3>=1.21.1 in ./Library/Python/2.7/lib/python/site-packages (from pipenv)
Requirement already satisfied: pathlib; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: shutilwhich; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: backports.shutil-get-terminal-size; python_version == "2.7" in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: pythonz-bd>=1.10.2 in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Requirement already satisfied: virtualenv-clone>=0.2.5 in /Library/Python/2.7/site-packages (from pew>=0.1.26->pipenv)
Collecting setuptools>=17.1 (from pew>=0.1.26->pipenv)
  Using cached setuptools-36.5.0-py2.py3-none-any.whl
Requirement already satisfied: idna<2.7,>=2.5 in ./Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: certifi>=2017.4.17 in ./Library/Python/2.7/lib/python/site-packages (from requests>2.18.0->pipenv)
Requirement already satisfied: pyflakes<1.6.0,>=1.5.0 in ./Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: enum34; python_version < "3.4" in ./Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: configparser; python_version < "3.2" in ./Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: pycodestyle<2.4.0,>=2.0.0 in ./Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Requirement already satisfied: mccabe<0.7.0,>=0.6.0 in ./Library/Python/2.7/lib/python/site-packages (from flake8->pipenv)
Installing collected packages: pipenv, setuptools
  Running setup.py install for pipenv ... done
Exception:
Traceback (most recent call last):
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/commands/install.py", line 342, in run
    prefix=options.prefix_path,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/Library/Python/2.7/site-packages/pip-9.0.1-py2.7.egg/pip/wheel.py", line 323, in clobber
    shutil.copyfile(srcfile, destfile)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile
    with open(dst, 'wb') as fdst:
IOError: [Errno 13] Permission denied: '/Users/am034402/Library/Python/2.7/lib/python/site-packages/setuptools-36.5.0.dist-info/RECORD'

3 个答案:

答案 0 :(得分:1)

您不应该同时使用sudo--user;这导致它只为超级用户安装。

要么只使用sudo,在这种情况下会全局安装,要么使用--user,因此只会为您的用户安装。

答案 1 :(得分:0)

最终通过升级到OS X 10.12 Sierra解决了这个问题。随着撰写本文(2017年9月29日)的各种程序和库,似乎在El Capitan上使用pipenv存在问题。

答案 2 :(得分:0)

陷入类似的问题。真气。我想我弄清楚这里发生了什么。

TL; DR:不要同时使用'sudo -H'和'pip --user'标志。

使用'sudo -H'告诉将用户主目录'〜'更改为'/ private / var / root',所以pip缓存,在'/private/var/root/Library/Python/2.7/lib中安装东西/ python / site-packages'而不是'/User/nerdenator/Library/Python/2.7/lib/python/site-packages'。然后混淆了pip。

(必要)锁定对'/ private / var / root'的访问。为了清除那个无意识的缓存,我紧张地使用了'sudo rm -rf /private/var/root/Library/Python/2.7/lib/python/site-packages',这似乎让我重回正轨。

我不知道我在哪里拿起'sudo -H pip install .... - user'提示。但'sudo -H'和'pip install ... --user'绝对不应该在macOS上一起使用。

因人而异。