Error due to incompatibility with several python libraries что это
Не удалось установить пакеты из-за ошибки EnvironmentError: [WinError 5] Доступ запрещен:
У меня Windows 10. Я завершил установку Tensorflow. Оно работает. Он говорит: «Привет, Tensorflow!». Но перед ним все это:
Процесс возвратил 0 (0x0) время выполнения: 2,327 с. Нажмите любую клавишу, чтобы продолжить.
/.local/, or %APPDATA%\Python on Windows. (See the Python documentation for site.USER_BASE for full details.)
Просто введите команду, которую вы хотите выполнить с разрешением пользователя, если вы не хотите изменять разрешение:
выполните ту же команду, используя ‘—user’
Я обнаружил, что если я запускаю CMD от имени администратора и запускаю команду, я могу без проблем установить его. Попробуйте и дайте мне обратную связь.
просто измените права доступа, в которых будет устанавливаться конкретный пакет.
В моем случае windows10 :
Я использовал эту команду, и она сработала:
Я обновлял тензорный поток до 1.4.0 и бился головой о стену, поскольку эта ошибка не решала, но, наконец, решила ее. Угадай, что?
Один из моих скриптов python работал, и он использовал тензорный поток. Пакет успешно установлен после его закрытия. 👍
Для меня (в Windows) мне пришлось перезапустить терминал и запустить его как администратор (если вы используете терминал pycharm, просто закройте pycharm и снова откройте его как администратор, а затем повторите попытку). Это решило проблему, и установка прошла успешно.
Введите CMD в поиске, и когда в результатах поиска BEST MATCH появится командная строка, щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора», когда появится окно управления пользователем, выберите «Да». Появится окно командной строки, и вы должны увидеть «C: / WINDOWS / system32>».
на этом этапе просто введите то, что вы хотите, должно работать!
решил мою проблему.
Ошибка, вызванная ограничением длины пути к файлу в Windows
Может случиться так, что pip не сможет установить пакеты при достижении предельного размера пути по умолчанию Windows, если Python установлен во вложенном месте, таком как структура папок AppData в домашнем каталоге пользователя, например:
В этом случае можно снять это ограничение в реестре Windows с помощью инструмента regedit:
Введите «regedit» в меню «Пуск» Windows, чтобы запустить regedit.
Подойдите к Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem ключу.
Измените значение LongPathsEnabled свойства этого ключа и установите его на 1.
Переустановите scikit-learn (игнорируя предыдущую неработающую установку):
Это должно работать
О боже. Здесь так много плохих ответов. Хорошие намерения, но вводящие в заблуждение. Обычно я нормально справляюсь с разрешениями на Mac / Linux. Windows в последнее время для меня в новинку. Это моя проблема.
Не делайте этого, не проверив следующие шаги. Внимательно прочтите сообщение.
Ни в коем случае это решение всех проблем с разрешениями, которые могут повлиять на вас. Я могу только дать рекомендации по устранению неполадок и, надеюсь, вы разрешите их.
Дополнительные действия: попробуйте удалить пакет и установить его. pip uninstall requests pip install requests Это работает, но у меня проблема с разрешением для определенного пакета.
Оказывается, Windows выдает ошибку разрешения, когда файл заблокирован процессом. Python сообщает об этом, [Winerror 5] и мне все равно было нелегко найти ссылку на эту документацию. Давайте проверим эту теорию.
Я нахожу именно тот файл, в котором возникает ошибка разрешения. Хит удалить. Конечно, Windows window подсказывает, что он открыт. python Конечно, это так.
Я попал end task на весь питон. Он работает с 1996 года. Но я подождал несколько секунд на случай, если какой-то процесс запустит питон. Проверил Task manager все хорошо.
После 20 неудачных попыток установить конкретный пакет azureml через pip я был уверен, что это решило проблему.
Я запустил установку pip, и она установилась отлично.
Мораль истории: разберитесь, что вы делаете, прежде чем копировать вставку из Stackoverflow. Всего наилучшего.
ps Пожалуйста, прекратите установку Python или его пакетов от имени администратора. Мы прошли это с 2006 года
ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject
Importing from pyxdameraulevenshtein gives the following error, I have
12 Answers 12
I’m in Python 3.8.5. It sounds too simple to be real, but I had this same issue and all I did was reinstall numpy. Gone.
try with numpy==1.20.0 this worked here, even though other circumstances are different (python3.8 on alpine 3.12).
This leads to several possible ways to solve the problem:
I had this issue when using the tensorflow object api. Tensorflow is currently NOT compatible with numpy==1.20 (although this issue is not apparent until later). In my case, the issue was caused by pycocotools. I fixed by installing an older version.
Solution without upgrading numpy
While upgrading the numpy version would often solve the issue, it’s not always viable. Good example is the case when you’re using tensorflow==2.6.0 which isn’t compatible with the newest numpy version (it requires
Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory \\METADATA
I relatively new to coding so I am not (yet) running virtual environments. Rather, I am just downloading packages with pip straight to my pc to run python 3.7 in atom.
I got this error: Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: ‘c:\\users\\adrian\\appdata\\roaming\\python\\python37\\site-packages\\pip-19.0.1.dist-info\\METADATA’
Most of the other answers I have seen on related errors had people use conda to install some type of fix I think? When I tried to use conda to execute one of the fixes I recieved a CondaHTTPError: SSLError(MaxRetryError(‘HTTPSConnectionPool(host=\’repo.anaconda.com\’, port=443): Max retries exceeded with url: /pkgs/free/noarch/repodata.json.bz2 (Caused by SSLError(«Can\’t connect to HTTPS URL because the SSL module is not available.
Any direction would be heartily appreciated 🙂
13 Answers 13
TL;DR:
Problem: Long install path
Solution 1: Install the desired python package (in my case tensorflow) in the folder which has a shorter path (for example C:/my_py_packages/some_package )
Solution 2: Set the registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem@LongPathsEnabled to 1 as mentioned here.
Original answer: I got here by having this kind of error when I tried installing tensorflow library. My error was the following:
Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: ‘c:\moj ifajlovi\faks\11master\1semestar\siap-sistemizaistrazivanjeianalizupodataka_(datamining)\projek at\rad\venvs\siap_venv\Lib\site-packages\tensorflow_estimator\python\estimator\canned\line ar_optimizer\python\utils\pycache\sharded_mutable_dense_hashtable.cpython-37.pyc’
So, there was no sharded_mutable_dense_hashtable.cpython-37.pyc file in the __pycache__ directory. But, sharded_mutable_dense_hashtable.cpython-37.pyc file was in the utils directory (which is the parent directory of __pycache__ directory).
That’s why I tried manually copying the sharded_mutable_dense_hashtable.cpython-37.pyc file in the __pycache__ directory. When I tried that, I had a copy error which stated that the path was too long, so it couldn’t put the file in the directory.
So, the solution:
Install the desired python package (in my case tensorflow) in the folder which has a shorter path (for example C:/my_py_packages/some_package ) or set the registry value HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem@LongPathsEnabled to 1 as mentioned here.
Python: сложности, нюансы, детали.
Вы можете избавить себя от головной боли прочитав статью virtualenv или venv
Установлено несколько версий Python
Итак, Вы установили python, pipe, pipenv, requests и ещё много чего, но вдруг выяснили, что на компьютере уже не одна, а несколько версий python.
Например, у Вас установлены версии 2.7 и 3.5.
Когда Вы запускаете python, то хотите, чтобы работала последняя версия, но, почему-то работает версия 2.7.
Выясним, как разобраться в этой ситуации.
Как видите, в моей Ubuntu Python находится в /usr/bin/python и имеет версию 2.7.18rcl
Третий Python тоже установлен, посмотреть версию и директорию также просто
Резюмируем: второй Python вызывается командой python а третий Python командой python3.
Обычно Python установлен в директорию /usr/bin
python3 is hashed (/usr/bin/python3)
python3 is hashed (/usr/bin/python)
Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] on linux Type «help», «copyright», «credits» or «license» for more information.
>>> import sys
>>> sys.executable
Если у вас уже был третий Python, например 3.8.5, а вы самостоятельно скачали и установили более позднюю версию, например 3.9.1 как в инструкции то у вас будет два разных третьих Python.
Убедиться в этом можно изучив директорию
В такой ситуации вам нужно специально указывать полную версию python3.9 для запуска программ, либо настроить alias
Если ни одна из команд pyhon и python3 не работает, бывает полезно проверить переменную PATH
Как вы можете убедиться моя директория /usr/bin прописана в PATH
Если вам нужно добавить директорию в PATH читайте статью «PATH в Linux» или статью «PATH в Windows»
Важно понимать, что если в каждой из директорий, упомянутых в PATH, будет установлено по какому-то Python выполняться будет тот, который в первой директории.
Если нужно использовать Python из какой-то определённой директории, нужно прописать её путь. В этом случае не обязательно наличие этого пути в PATH
Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] on linux Type «help», «copyright», «credits» or «license» for more information. >>>
>>> говорит о том, что Python в интерактивном режиме.
Выясним куда смотрит pip
/home/andrei/.local/lib/python2.7/site-packages (python 2.7)
Как видите, pip смотрит в директорию python2.7 поэтому всё, что мы до этого устанавливали командой pip install попало к версии 2.7 а версия 3.5 не имеет ни pipenv ни requests и, например, протестировать интерфейсы с её помощью не получится
Command ‘pip’ not found, but there are 18 similar ones.
Посмотрите что выдаст
В моей Ubuntu результат такой
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
Посмотреть куда pip установил пакет можно командой pip show
Проверим, куда установлен модуль requests, который пригодится нам для работы с REST API
Name: requests Version: 2.22.0 Summary: Python HTTP for Humans. Home-page: http://python-requests.org Author: Kenneth Reitz Author-email: me@kennethreitz.org License: Apache 2.0 Location: /usr/lib/python3/dist-packages Requires: Required-by: yandextank, netort, influxdb
alias
Если вы работаете в Linux можете прописать alias python=python3
Установить дополнительную версию Python
Если вы осознанно хотите установить определённую версию Python в добавок к уже существующей выполните
Куда устанавливаются различные версии Python
Просмотрите содержимое /usr/local/bin
Результат на моём ПК показывает, что здесь находится версия 3.5
Версия 2.7 скорее всего здесь /home/andrei/.local/lib/
Результат на моём ПК
Существует несколько способов обойти эту проблему. Сперва рассмотрим использование команды python3.
Как мы только что смогли убедиться команда python3 использует новую версию Python.
sudo apt install python3-pip
Проверим, что он установился в нужную директорию
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
Теперь установим pipenv
pip3 install pipenv
Установить пакет для определённой версии Python
Если у вас несколько версий Python и нужно установить какой-то пакет только для определённой версии, назовём её X.X, воспользуйтесь командой
ModuleNotFoundError: No module named ‘urllib2’
Модуль urllib2 был разделён на urllib.request и urllib.error
import urllib.request
import urllib.error
TabError: inconsistent use of tabs and spaces in indentation
Эта ошибка обычно вызвана тем, что нажатие TAB не эквивалентно трём пробелам.
Можно попробовать заменить все отступы на пробелы строго соблюдая равенство количества пробелов везде где нужно.
ModuleNotFoundError: No module named ‘requests’
Эта ошибка обычно вызвана тем, что модуль requests не установлен, либо установлен, но не для того python, который Вы запустили.
Например, для python2.6 установлен, а для python3 не установлен.
Можно попробовать установить модуль requests. Подробнее про это я писал в статье Тестирование с помощью Python. Потому что столкнулся с этой проблемой впервые именно при тестировании API
Если эта проблема возникла при использовании PyCharm установите requests для Вашего проекта по следующей инструкции
Перейдите в настройки проекта нажав
Выберите раздел Project Interpreter
Нажмите на плюс в правой части экрана
Введите в стоку поиска название нужного модуля. В моём случае это requests
Введите в поиске requests
Должно открыться окно Available Packages
Нажмите кнопку Install Package
Дождитесь окончания установки
Дождитесь окончания установки
SyntaxError: Missing parentheses in call to ‘print’
Эта ошибка обычно появляется когда Вы пробуете в python 3 использовать print без скобок, так как это работало в python 2
В python 3 нужно использовать скобки
TypeError: getsockaddrarg: AF_INET address must be tuple, not str
Эта ошибка обычно появляется когда Вы неправильно ставите кавычку, указывая куда нужно подключиться.
(ip, port), ip обычно в кавычках, порт без
Пример (‘10.6.0.100’, 10000)
Ошибка возникает если взять в кавычки и ip и порт, тогда вместо кортежа передаётся строка, на что и жалуется интерпретатор.
Traceback (most recent call last): File «send.py», line 4, in sock.connect((‘10.6.0.130,9090’)) TypeError: getsockaddrarg: AF_INET address must be tuple, not str
Не выполняется команда virtualenv
Если Вы только что установили virtualenv, но при попытке выполнить
Вы получаете что-то в духе:
virtualenv : The term ‘virtualenv’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + virtualenv juha_env +
+ CategoryInfo : ObjectNotFound: (virtualenv:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
Не активируется виртуальное окружение
Сначала разберём случай в чистом virtualenv потом перейдём к virtualenvwrapper-win
1. virtualenv
Вы под Windows и пытаетесь активировать Ваше виртуальное окружение, которое называется, допустим, test_env командой
И ничего не происходит
+ CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
Нужно зайти в PowerShell в режиме администратора и выполнить
И выполните ещё раз
Если Вы не можете запустить PowerShell в режиме администратора. Например, если Вы пользуетесь терминалом в Visual Studio Code
2. virtualenvwrapper-win
Вы установили virtualenvwrapper-win и создали новое окружение
created virtual environment CPython3.8.2.final.0-32 in 955ms creator CPython3Windows(dest=C:\Users\Andrei\Envs\testEnv, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:\Users\Andrei\AppData\Local\pypa\virtualenv\seed-app-data\v1.0.1) activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Его видно в списке окружений
И workon его видит
Чтобы активировать его вводим
И ничего не происходит. Потому что virtalenvwrapper-win не работает с PowerShell.
Придётся использовать обычный command prompt или переходить в подсистему Linux
NameError: name ‘psutil’ is not defined
NameError: name ‘psutil’ is not defined
Подобные ошибки возникают если ещё не установили какую-то библиотеку, но уже попробовали ей воспользоваться
TypeError: unsupported operand type(s) for +: ‘range’ and ‘range’
Эта ошибка говорит о том, что вы запускаете код написанный на Python2 с помощью Python3
Установите последнюю версию Python2 по инструкции и запустите код с помощью второго Python
Python module not found even though «Requirement Already satisfied in Pip»
writing some python in OS X, and it’s saying several packages I installed with pip «ImportError: no module named requests»
When running pip install requests
it’s erroring on twindb_cloudflare, requests, group, tarutil, and MySQL DB. I’m able to run the exact same imports on another script (in the same folder) without error.
9 Answers 9
Run in command prompt.
Check what version you have installed on your system if you have an old version.
Try to uninstall the package.
Try after to install it:
You can also test if pip does not do the job.
In my case, I was running a python version included with Jupyter, which installs modules in a different place than the default one apparently. I found that out by running this in Jupyter:
I was then able to run the following command in Jupyter:
and then I was able to import my modules:
i had the same issue(also in MAC OS) and solved it by instead running the python script with python3: python3 script.py
in my case i was also using pip3 and not pip.
I suffered from this problem and finally found the solution.
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: django in /usr/lib/python3/dist-packages (2.2.12)
use ‘sudo’ to crossoff user installation issue;
someone mentioned this and worked for me.
If you are using a Mac, it could be that you installed the modules with pip (meaning python2, but you execute your code with python3 which does not have the modules you installed for python2).
Mac has python version 2 set as default and usually does not come with pip preinstalled or is linked with version 2. I recommend leaving it that way. Use version 3 for your personal use cases and leave your Mac with version 2 as default. As you have to install python3 yourself, means you might also want to check/install pip3.
Check if you have python 3 installed:
Check if you have pip3 installed (usually included by default since python 3.4):
Check what packages you have installed with pip3:
If you use an editor tool, make sure to set it to use python3 when running your file.
And now if you want to import any modules into python, make sure to install them with pip3:
If you run into permission issue, you might consider to run the command with sudo rights: