`python3.7:错误的解释器:没有此文件或目录`

`python3.7:错误的解释器:没有此文件或目录`

我安装了 Python、pip3 和 virtualenv,如下所示本 TensorFlow 指南

brew install python
pip3 install -U virtualenv

然后我就可以创建一个虚拟环境:

virtualenv --system-site-packages -p python3 ./venv

然后我尝试使用

pip install --upgrade tensorflow

但它失败了因为 TensorFlow 尚不兼容 Python 3.7。所以我删除了 Python 3.7brew remove python并从安装了 3.6.7安装程序。但是现在运行相同的virtualenv命令失败:

$ virtualenv --system-site-packages -p python3 ./venv
-bash: /usr/local/bin/virtualenv: /usr/local/opt/python/bin/python3.7: bad interpreter: No such file or directory
$ which python3
/Library/Frameworks/Python.framework/Versions/3.6/bin/python3

因此,virtualenv即使删除后,可执行文件的链接也会列出最新的 Python 版本。

此外,还virtualenv列出了brew用户组,这也令人困惑:

$ ls -la /usr/local/bin/virtualenv
-rwxr-xr-x  1 user  brew  232 29 Nov 17:06 /usr/local/bin/virtualenv

我尝试使用和卸载virtualenvpip得到pip3以下结果:

Skipping virtualenv as it is not installed.

我该如何修复此问题?

答案1

几个小时后,一个解决方案是使用virtualenv再次安装pip,然后使用 将其删除pip

$ ls -la /usr/local/bin/virtualenv
-rwxr-xr-x  1 user  brew  232 29 Nov 17:06 /usr/local/bin/virtualenv
$ pip install virtualenv
...
$ pip uninstall virtualenv
...
$ which virtualenv
$ ls -la /usr/local/bin/virtualenv
ls: /usr/local/bin/virtualenv: No such file or directory

然后再次安装pip3

$ pip3 install virtualenv
Collecting virtualenv
...
Installing collected packages: virtualenv
Successfully installed virtualenv-16.1.0

注意使用pip3,而不是pip,不像此链接,指向TensorFlow

现在可以创建虚拟环境了:

$ virtualenv --system-site-packages -p python3 ./venv
Running virtualenv with interpreter /Library/Frameworks/Python.framework/Versions/3.6/bin/python3
Using base prefix '/Library/Frameworks/Python.framework/Versions/3.6'
New python executable in ~/venv/bin/python3
Also creating executable in ~/venv/bin/python
Installing setuptools, pip, wheel...
done.

答案2

我创建了一个符号链接而不是复制。

brew install [email protected]
ln -s /usr/local/opt/[email protected]/bin/python3.7 /usr/local/opt/python/bin/python3.7

答案3

就我而言,我已经安装了 pipenv在 MacOS 上和:

brew install pipenv

它尝试使用 Python 3.6,而不是我实际拥有的 3.7。

所以我通过卸载解决了这个问题:

brew uninstall pipenv

...然后再次安装pip

pip3 install pipenv

答案4

尝试安装[电子邮件保护]通过 homebrew,然后cp将该安装放入程序希望找到的目录中。

brew install [email protected]
cp -r /usr/local/opt/[email protected]/bin/python3.7 /usr/local/opt/python/bin/python3.7

相关内容