`pip install` дает FileNotFoundError относительно METADATA - PullRequest
0 голосов
/ 13 апреля 2020

Я недавно загрузил пакет через pip и, хотя пакет был успешно загружен, я получил явное сообщение об ошибке, которое, похоже, не может найти решение. Вот полный ответ:

Requirement already satisfied: torch in ./anaconda3/envs/userconda/lib/python3.7/site-packages (from toma) (1.4.0)
Requirement already satisfied: psutil in ./anaconda3/envs/userconda/lib/python3.7/site-packages (from toma) (5.7.0)
ERROR: Error checking for conflicts.
Traceback (most recent call last):
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3021, in _dep_map
    return self.__dep_map
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2815, in __getattr__
    raise AttributeError(attr)
AttributeError: _DistInfoDistribution__dep_map

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3012, in _parsed_pkg_info
    return self._pkg_info
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2815, in __getattr__
    raise AttributeError(attr)
AttributeError: _pkg_info

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_internal/commands/install.py", line 517, in _warn_about_conflicts
    package_set, _dep_info = check_install_conflicts(to_install)
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_internal/operations/check.py", line 114, in check_install_conflicts
    package_set, _ = create_package_set_from_installed()
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_internal/operations/check.py", line 53, in create_package_set_from_installed
    package_set[name] = PackageDetails(dist.version, dist.requires())
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 2736, in requires
    dm = self._dep_map
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3023, in _dep_map
    self.__dep_map = self._compute_dependencies()
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3032, in _compute_dependencies
    for req in self._parsed_pkg_info.get_all('Requires-Dist') or []:
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 3014, in _parsed_pkg_info
    metadata = self.get_metadata(self.PKG_INFO)
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1420, in get_metadata
    value = self._get(path)
  File "/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/pip/_vendor/pkg_resources/__init__.py", line 1616, in _get
    with open(path, 'rb') as stream:
FileNotFoundError: [Errno 2] No such file or directory: '/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/jmespath-0.9.5.dist-info/METADATA'

Я посмотрел на проблемы GitHub, такие как этот или этот , но решения не работают для меня.

Кто-нибудь видел эту ошибку раньше? Если так, как я мог бы решить это? Спасибо.

Обновление

Просто для дополнительной информации для будущих пользователей, ответ ревностного в основном правильный, но мне пришлось сделать несколько дополнительных шагов:

У меня было две папки, начиная с jmespath: jmespath-0.9.4.dist-info и jmespath-0.9.5.dist-info. У 9.5 была только metadata.json, а у 9.4 - METADATA. Я скопировал файл METADATA в 9.5. Это привело меня к другой подобной ошибке, касающейся папок boto3-1.12.12.dist-info и boto3-1.12.30.dist-info. То же самое, просто скопируйте METADATA из более низкой версии в более высокую версию.

Я понятия не имею, что влекут за собой эти вещи, поэтому, если кто-нибудь сможет пролить свет на это, было бы здорово !

1 Ответ

1 голос
/ 13 апреля 2020

Go к папке, следуя пути

/home/user/anaconda3/envs/userconda/lib/python3.7/site-packages/jmespath-0.9.5.dist-info

Вы обнаружите, что файл метаданных отсутствует. там будет другая папка 0.9.5.dist-info, в которой будет ваш файл метаданных. Просто переместите его наружу в указанный выше каталог. Это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...