![`python3.7: плохой интерпретатор: Нет такого файла или каталога`](https://rvso.com/image/1576191/%60python3.7%3A%20%D0%BF%D0%BB%D0%BE%D1%85%D0%BE%D0%B9%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BF%D1%80%D0%B5%D1%82%D0%B0%D1%82%D0%BE%D1%80%3A%20%D0%9D%D0%B5%D1%82%20%D1%82%D0%B0%D0%BA%D0%BE%D0%B3%D0%BE%20%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%20%D0%B8%D0%BB%D0%B8%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B0%60.png)
Я установил 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