`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.7を削除しbrew 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の両方でアンインストールを試みましたが、次の結果になりました:pippip3

Skipping virtualenv as it is not installed.

この問題を解決するにはどうすればいいでしょうか?

答え1

数時間後、解決策の 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このリンク、によって指摘されたテンソルフロー

これで仮想環境の作成が機能するようになりました。

$ 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

実際に使用していた 3.7 ではなく、Python 3.6 を使用しようとしていました。

そこでアンインストールすることで問題を解決しました:

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

関連情報