Pip не может найти файл метаданных - EnvironmentError - PullRequest
0 голосов
/ 06 февраля 2019

Всякий раз, когда я запускаю pip для установки пакетов Flask, таких как virtualenv в Ubuntu 16.04, я получаю эту ошибку:

pip install virtualenv

Requirement already satisfied: virtualenv in ./.local/lib/python3.5/site-packages (16.1.0) No metadata found in ./.local/lib/python3.5/site-packages Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/usr/.local/lib/python3.5/site-packages/virtualenv-16.1.0.dist-info/METADATA'

Вот мои версии для pip и python:

pip --version pip 19.0.1 from /usr/.local/lib/python3.5/site-packages/pip (python 3.5)

python3 --version Python 3.6.8

Я уже попробовал почти все, что получаю из Интернета, чтобы решить эту проблему, например:

/usr/.local/bin/pip install virtualenv

Но я все еще получаю ту же ошибку.

Я также захожу в папку dist, чтобы скопировать metadata.json с METADATA, но метаданных нет.Файл json внутри.

cd /usr/.local/lib/python3.5/site-packages/virtualenv-16.1.0.dist-info/ cp metadata.json METADATA

cp: cannot stat 'metadata.json': No such file or directory

Пожалуйста, помогите мне, я застрял с этой проблемой на несколько дней.Спасибо!

Ответы [ 3 ]

0 голосов
/ 12 февраля 2019

Я недавно столкнулся с той же проблемой.

Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '~/.local/lib/python3.7/site-packages/pip-19.0.1.dist-info/METADATA'

В папке

~/.local/lib/python3.7/site-packages/pip-19.0.1.dist-info/

я нашел еще одну с именем pip-19.0.1.dist-info, а последняя содержала все необходимые файлы дляpip.

Я только что использовал

cd ~/.local/lib/python3.7/site-packages/pip-19.0.1.dist-info/
cp -r ./pip-19.0.1.dist-info/* ./
rm -r ./pip-19.0.1.dist-info

Очевидно, что вам нужно заменить версию python на вашу собственную, а также проверить файлы

entry_points.txt  INSTALLER  LICENSE.txt  METADATA  RECORD  top_level.txt  WHEEL

здесь.

Может быть, это поможет вам, удача.

0 голосов
/ 13 февраля 2019

Я получил ту же ошибку

Could not install packages due to an EnvironmentError: [Errno 2] No such file or directory: '/home/vagrant/.local/lib/python3.7/site-packages/pip-18.1.dist-info/RECORD'

Кажется, что существует конфликт между / usr / bin / pip и /home/vagrant/.local/lib/python3.7/.

Мое решение состоит в том, чтобы избежать ошибки.

  • pip freeze> needs.txt
  • Я удалил /home/user/.local/lib/python3.7 dir
  • sudo pip install --upgrade pip
  • pip install -r needs.txt --user
  • исправлено
0 голосов
/ 06 февраля 2019

Я думаю, корень вашей ошибки в том, что ваш pip сконфигурирован для работы с Python3.5 (и ищет в его конкретном Pythonpath метаданные), в то время как ваша версия Python - 3.6.8

Виртуальные среды в Python 3, на мой взгляд, упрощены благодаря использованию встроенного venv.Кроме того, ваши версии Python и Flask должны совпадать, что здесь не так.

Я бы посоветовал вам предпринять следующие шаги

python3 -m venv /path/to/new/virtual/environment

  • Активируйте виртуальную среду с помощью
cd /path/to/new/virtual/environment
source env/bin/activate

Теперь у вас есть изолированная, чистая среда, где у вас есть только одна версия Python.

  • Запустите pip install --upgrade pip, чтобы обновить пип виртуальной среды до версии, совместимой с вашей версией Python.

  • Запустите pip install flask и установите весь стекс нуля, чтобы библиотеки и исполняемые версии Python были выровнены.

...