Ошибка ImportError: невозможно импортировать имя «packaging» из «pkg_resources» при попытке установить causal_conv1d

Я пытался установить «causal_conv1d», используя:

pip install --no-cache-dir  -t /scratch/ahmed/lib  causal_conv1d==1.0.0

Ошибка, которую я получил:

Collecting causal_conv1d==1.0.0
  Downloading causal_conv1d-1.0.0.tar.gz (6.4 kB)
  Preparing metadata (setup.py) ... error
  error: subprocess-exited-with-error
  
  × python setup.py egg_info did not run successfully.
  │ exit code: 1
  ╰─> [9 lines of output]
      Traceback (most recent call last):
        File "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "/tmp/pip-install-9i0wsv2k/causal-conv1d_fc0a21267f664102adca1aa336c93106/setup.py", line 19, in <module>
          from torch.utils.cpp_extension import (
        File "/scratch/ahmed/lib/torch/utils/cpp_extension.py", line 28, in <module>
          from pkg_resources import packaging  # type: ignore[attr-defined]
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      ImportError: cannot import name 'packaging' from 'pkg_resources' (/scratch/ahmed/lib/pkg_resources/__init__.py)
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failed

× Encountered error while generating package metadata.
╰─> See above for output.

note: This is an issue with the package mentioned above, not pip.
hint: See above for details.

Почему pip импортируется файл с вашего /scratch монтируемого устройства? Вы изменили переменную среды PYTHONPATH?

darthbith 10.06.2024 21:18

Да... Я обновил полную команду pip. извини за замешательство @darthbith

user836026 10.06.2024 21:24

Таким образом, ошибка связана с тем, что pkg_resources не установлен в изолированной среде сборки. Возможно, вам придется добавить --no-build-isolation (я думаю, это флаг) в строку пункта.

darthbith 10.06.2024 21:46

Я попробовал, но получил: Не удалось найти версию, удовлетворяющую требованию pkg_resources (из версий: нет) @darthbith

user836026 10.06.2024 21:55
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
7
4
8 889
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Похоже, это проблема последней версии setuptools. Подобные отчеты были сделаны в github Issues, и решение, которое сработало для меня, заключалось в том, чтобы указать версию setuptools 69.5.1, например:

pip install setuptools==69.5.1

В вашем случае вам следует запустить эту команду, прежде чем пытаться установить causal_conv1d.

У меня была такая же проблема в контейнере докеров, и я добавил команду RUN для установки этой конкретной версии setuptools.

Возврат к setuptools==69.5.1 решил проблему при установке другого пакета, спасибо!

Hölderlin 14.06.2024 23:44

Для torchvision мне это решение помогло.

soham 27.06.2024 02:13

У меня это сработало для mmcv-1.38. Подобные отчеты были на github для setuptools. В случае сомнений просто вернитесь к предыдущим версиям. Надеюсь, это скоро исправят.

colt.exe 16.07.2024 22:44
Ответ принят как подходящий

Я не знаю точной проблемы, но кажется, что эта проблема возникла, когда я использовал два каталога для Python «lib»: один был библиотекой Anaconda по умолчанию, а другой был отдельным. Проблема исчезла, когда я использовал только библиотеку Anaconda по умолчанию. Теперь все работает нормально.

Другие вопросы по теме