Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
pip安装/usr/local/opt/python/bin/python2.7:错误的解释器:没有这样的文件或目录_Python_Macos_Installation_Pip_Osx Mavericks - Fatal编程技术网

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

pip安装/usr/local/opt/python/bin/python2.7:错误的解释器:没有这样的文件或目录,python,macos,installation,pip,osx-mavericks,Python,Macos,Installation,Pip,Osx Mavericks,我不知道这是怎么回事,但我一直在遵循一些毫无进展的stackoverflow解决方案。你能帮我一下吗 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

我不知道这是怎么回事,但我一直在遵循一些毫无进展的stackoverflow解决方案。你能帮我一下吗

  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

我猜您有两个python安装,或者两个pip安装,其中一个已经被部分删除

您为什么使用
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二进制文件的路径

由于看起来pip是在某个地方成功安装的,因此可能是
/usr/local/bin/pip
是较旧的pip安装的一部分,它位于
路径的较高位置。为了测试这一点,您可以尝试将不起作用的
pip
二进制文件移到如下位置(可能需要
sudo
):


然后再次尝试运行
pip--version
命令。希望它能选择正确的版本并成功运行。

我也有类似的问题。基本上,pip是在寻找一条错误的路径(旧的安装路径)或python。以下解决方案对我有效:

  • 我检查了python路径的位置(尝试
    哪个python
  • 我检查了pip文件的第一行(
    /usr/local/bin/pip2.7
    /usr/local/bin/pip
    )。该行应说明python路径的正确路径。就我而言,我没有。我纠正了它,现在它工作良好

我使用自制软件在OS X 10.10上安装了2.7,新安装缺少sym链接。我跑

brew link --overwrite python

如中所述,它解决了问题。

我在安装时使用sudo也犯了同样的错误。(哎呀)


这使一切恢复正常。

如果它对任何人都有帮助,那么当pip升级后今天停止工作时,另一个问题中提到的解决方案对我有效:

当以前缓存的位置发生更改时,这似乎是一个问题,因此您可以使用以下命令刷新缓存:

hash -r

在我的例子中,我决定从mac上删除自制python安装,因为我已经通过MacPorts在mac上安装了另外两个版本的python。这导致出现错误消息


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

我也遇到了同样的问题。我已经安装了Python2.7和3.6。Python2.7已经运行了
virtualenv
,但是在安装了Python3之后,virtualenv一直在寻找版本2.7,却找不到它。 Doing
pip安装virtualenv
安装了Python3版本的virtualenv


然后,对于每个命令,如果我想使用Python2,我会使用
virtualenv--Python2.7 somecommand

来简化操作,我们可以使用下面的命令来重新安装版本2:


brew安装python@2

然后在我的mac上,它看起来如下所示:

▶ python -V
Python 2.7.10

▶ python2 -V
Python 2.7.14

▶ python3 -V
Python 3.6.5

▶ pip2 -V
pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7)

▶ pip3 -V
pip 9.0.3 from /usr/local/lib/python3.6/site-packages (python 3.6)

▶ pip --version
pip 9.0.3 from /usr/local/lib/python2.7/site-packages (python 2.7)

这个命令对我有效

我也遇到了同样的问题。如果我运行
brew链接--覆盖python2
。还有
zsh:/usr/local/bin//fab:bad解释器:/usr/local/opt/python/bin/python2.7:没有这样的文件或目录

cd /usr/local/opt/
mv python2 python
解决了!现在我们可以使用python2版本的结构

==2018/07/25更新

当您的操作系统python链接到python3时,有一种方便的方法可以使用python2版本fab
.sh
用于您的命令

# fab python2
cd /usr/local/opt
rm python
ln -s python2 python

# use the fab cli
...

# link to python3
cd /usr/local/opt
rm python
ln -s python3 python

希望这能有所帮助。

我也遇到了同样的问题,virtualenv指向了一条旧的python路径。修复路径解决了问题:

$ virtualenv -p python2.7 env
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory

$ which python2.7
/opt/local/bin/python2.7

# needed to change to correct python path
$ head  /usr/local/bin/virtualenv
#!/usr/local/opt/python/bin/python2.7 <<<< REMOVED THIS LINE
#!/opt/local/bin/python2.7 <<<<< REPLACED WITH CORRECT PATH

# now it works:
$ virtualenv -p python2.7 env
Running virtualenv with interpreter /opt/local/bin/python2.7
New python executable in env/bin/python
Installing setuptools, pip...done.
$virtualenv-p python2.7 env
-bash:/usr/local/bin/virtualenv:/usr/local/opt/python/bin/python2.7:错误的解释器:没有这样的文件或目录
$2.7哪条蟒蛇
/opt/local/bin/python2.7
#需要更改为正确的python路径
$head/usr/local/bin/virtualenv

#!/usr/local/opt/python/bin/python2.7是OSX及其变体中唯一的解决方案

ln -s /usr/local/bin/python /usr/local/opt/python/bin/python2.7
固定点 对于此错误:

~/Library/Python/2.7/bin/pip: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
这个问题的根源是在pip中硬编码的错误python路径(这意味着它不会通过更改$path等方式得到修复)。在最新版本的pip中,该路径不再是硬编码的,因此应该采用的解决方案是:

但是,当然,这个命令使用pip,所以它失败了,并且出现了相同的错误

让自己摆脱困境的方法是:

  • 运行
    哪个pip
  • 在文本编辑器中打开该文件
  • 将第一行更改为
    #/usr/local/opt/python/bin/python2.7
    到例如
    #/usr/local/opt/python2/bin/python2.7
    (注意路径中的python2),或机器上运行的python解释器的任何路径
  • 现在,
    pip安装——升级pip
    (这将覆盖您的hack并使pip在最新版本下工作,解释器问题应该在最新版本中得到解决)
  • 固定虚拟 对我来说,我首先从virtualenv找到了相同的问题:

    ~/Library/Python/2.7/bin/virtualenv: /usr/local/opt/python/bin/python2.7: bad interpreter: No such file or directory`
    
    这里的解决方案是运行

    pip uninstall virtualenv
    pip install virtualenv
    

    如果运行该命令会产生与pip相同的错误,请参见上文。

    因为我在Mac OSX上安装了python 2和python 3,所以我遇到了各种各样的错误

    我使用它来查找python2.7文件的位置(/usr/local/bin/python2.7)

    然后,我将我真正的python2.7安装位置与脚本期望的位置进行了符号链接:

    ln -s /usr/local/bin/python2.7 /usr/local/opt/python/bin/python2.7
    

    编辑此文件的第一行对我有用:

    MBP de Jose:~josejunior$which python3

    /usr/local/Cellar/python/3.7.3/bin/python3
    
    MBP de Jose:~josejunior$

    以前

    #!/usr/local/opt/python/bin/python3.7
    
    之后


    你需要做的就是。。。关闭
    pip uninstall virtualenv
    pip install virtualenv
    
    which python2.7
    
    ln -s /usr/local/bin/python2.7 /usr/local/opt/python/bin/python2.7
    
    /usr/local/Cellar/python/3.7.3/bin/python3
    
    #!/usr/local/opt/python/bin/python3.7
    
    #!/usr/local/Cellar/python/3.7.3/bin/python3
    
    xcode-select --install