pip安装/usr/local/opt/python/bin/python2.7:糟糕的解释器:没有这样的文件或目录

我不知道什么是交易,但我坚持下面的一些stackoverflow解决scheme,无处可去。 你能帮我吗?

Monas-MacBook-Pro:CS764 mona$ sudo python get-pip.py The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. The directory '/Users/mona/Library/Caches/pip/http' or its parent directory is not owned by the current user and the cache has been disabled. Please check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag. /tmp/tmpbSjX8k/pip.zip/pip/_vendor/requests/packages/urllib3/util/ssl_.py:90: InsecurePlatformWarning: A true SSLContext object is not available. This prevents urllib3 from configuring SSL appropriately and may cause certain SSL connections to fail. For more information, see https://urllib3.readthedocs.org/en/latest/security.html#insecureplatformwarning. Collecting pip Downloading pip-7.1.0-py2.py3-none-any.whl (1.1MB) 100% |████████████████████████████████| 1.1MB 181kB/s Installing collected packages: pip Found existing installation: pip 1.4.1 Uninstalling pip-1.4.1: Successfully uninstalled pip-1.4.1 Successfully installed pip-7.1.0 Monas-MacBook-Pro:CS764 mona$ pip --version -bash: /usr/local/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory 

我已经使用家酿在OS X 10.10上安装2.7,新安装缺lesssym链接。 我跑了

 brew link --overwrite python 

正如在如何在自制符号链接python中提到的? 并解决了这个问题。

我猜你有两个python安装,或两个点安装,其中之一已被部分删除。

你为什么使用sudo ? 理想情况下,您应该能够安装并运行您的用户帐户中的所有内容,而不是使用root用户。 如果将root和本地帐户混合在一起,则更有可能遇到权限问题(例如,请参阅“父目录不属于当前用户”的警告)。

如果你运行这个,你会得到什么?

 $ head -n1 /usr/local/bin/pip 

这会告诉你哪个python二进制pip试图使用。 如果它指向/usr/local/opt/python/bin/python2.7 ,请尝试运行以下命令:

 $ ls -al /usr/local/opt/python/bin/python2.7 

如果这说“没有这样的文件或目录”,那么pip正试图使用​​已被删除的Python二进制文件。

接下来,试试这个:

 $ which python $ which python2.7 

查看实际工作的python二进制文件的path。

由于看起来pip已成功安装在某处,因此可能是/usr/local/bin/pip是较早在PATH上更高版本的pip的一部分。 为了testing这个,你可以尝试移动这个不起作用的pip二进制(可能需要sudo ):

 $ mv /usr/local/bin/pip /usr/local/bin/pip.old 

然后尝试再次运行您的pip --version命令。 希望它拿起正确的版本,并成功运行。

我使用sudo为我的安装做了相同的错误。 (糟糕)

 brew install python brew linkapps python brew link --overwrite python 

这使一切恢复正常。

我有类似的问题。 基本上pip是在一个错误的path(旧的安装path)或python看。 以下解决scheme为我工作:

  • 我检查了pythonpath(尝试which python
  • 我检查了pip文件的第一行( /usr/local/bin/pip2.7/usr/local/bin/pip )。 该行应该声明pythonpath的正确path。 在我的情况下,没有。 我纠正它,现在它工作正常。

如果它帮助任何人,在其他问题中提到的解决scheme,当点子在升级后停止工作,为我工作: 升级后PIP损坏

看起来这是以前caching的位置发生变化的问题,因此您可以使用以下命令刷新caching:

 hash -r 

在我的情况下,我决定从我的Mac删除自制软件python安装,因为我已经有两个其他版本的python通过MacPorts安装在我的Mac上。 这导致了错误信息。

通过brew重新安装python解决了我的问题。

是。 这似乎是一个相当常见的问题。 一个解决scheme是安装Anaconda3 ,下载Anaconda3-4.2.0-Linux-x86_64.sh ,Anaconda3将同时为您提供python和pip,并协调它们。