`python3.7:錯誤的解釋器:沒有這樣的檔案或目錄`

`python3.7:錯誤的解釋器:沒有這樣的檔案或目錄`

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

brew install python
pip3 install -U virtualenv

然後我能夠創建一個虛擬環境:

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

然後我嘗試安裝 TensorFlow

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

我嘗試virtualenv同時卸載pip,並且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

就我而言,我已經安裝了 pipelinev在 MacOS 上和:

brew install pipenv

它試圖使用 Python 3.6 而不是我實際擁有的 3.7。

所以我透過卸載解決了這個問題:

brew uninstall pipenv

....然後再安裝pip

pip3 install pipenv

答案4

嘗試安裝[電子郵件受保護]透過自製程序,然後cp將該安裝放入程序期望找到它的目錄中。

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

相關內容