`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и то, 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

В моем случае я установил pipenvна MacOSс:

brew install pipenv

Он пытался использовать Python 3.6 вместо 3.7, который у меня был на самом деле.

Поэтому я решил проблему, удалив:

brew uninstall pipenv

...затем повторная установка с помощью pip:

pip3 install pipenv

решение4

Попробуйте установить[email protected]через homebrew, а затем cpскопировать эту установку в каталог, где программа ожидает ее найти.

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

Связанный контент