Ошибка Pip при автономной установке с Requirements.txt ?

#python #linux #tensorflow #pip #package

#python #linux #тензорный поток #pip #пакет

Вопрос:

Я пытаюсь установить Rasa (это пакет python pip) на виртуальной машине Ubuntu, у которой нет подключения к Интернету. Я использую requirements.txt чтобы установить rasa полностью в автономном режиме. В requirements.txt и пакеты (файлы .whl) находятся в той же папке. Я использую следующую команду:

 pip install --no-index --find-links /home/...(folder with .whl files) -r requirements.txt
 

Он собирает зависимости, но останавливается после пакета «tensorflow». Вот журнал:

 (venv) [user@ubuntuvm alldependencies]$ pip install --no-index --find-links /home/user/alldependencies/ -r requirements.txt
Looking in links: /home/user/alldependencies/
Processing ./absl_py-0.10.0-py3-none-any.whl
[ PROCESSING bla bla....]
Processing ./tensorboard-2.3.0-py3-none-any.whl
Processing ./tensorboard_plugin_wit-1.7.0-py3-none-any.whl
Processing ./tensorflow-2.3.1-py3-none-any.whl
ERROR: Exception:
Traceback (most recent call last):
  File "/home/user/venv/lib64/python3.6/site-packages/pip/_internal/cli/base_command.py", line 228, in _main
    status = self.run(options, args)
  File "/home/user/venv/lib64/python3.6/site-packages/pip/_internal/cli/req_command.py", line 182, in wrapper
    return func(self, options, args)
  File "/home/user/venv/lib64/python3.6/site-packages/pip/_internal/commands/install.py", line 324, in run
    reqs, check_supported_wheels=not options.target_dir
  File "/home/user/venv/lib64/python3.6/site-packages/pip/_internal/resolution/legacy/resolver.py", line 183, in resolve
    discovered_reqs.extend(self._resolve_one(requirement_set, req))
  File "/home/user/venv/lib64/python3.6/site-packages/pip/_internal/resolution/legacy/resolver.py", line 391, in _resolve_one
    dist = abstract_dist.get_pkg_resources_distribution()
  File "/home/user/venv/lib64/python3.6/site-packages/pip/_internal/distributions/wheel.py", line 29, in get_pkg_resources_distribution
    with ZipFile(self.req.local_file_path, allowZip64=True) as z:
  File "/opt/rh/rh-python36/root/usr/lib64/python3.6/zipfile.py", line 1108, in __init__
    self._RealGetContents()
  File "/opt/rh/rh-python36/root/usr/lib64/python3.6/zipfile.py", line 1175, in _RealGetContents
    raise BadZipFile("File is not a zip file")
zipfile.BadZipFile: File is not a zip file
 

Что я могу сделать? Я установил Python 3.6 и новейшую версию Pip (20.x).

Комментарии:

1. unzip -l tensorflow-2.3.1-py3-none-any.whl . Если это не работает, колесо сломано и ремонту не подлежит. Кстати, в любом случае это не похоже на действительное колесо, основанное на теге платформы — откуда вы его взяли?

2. @hoefling Он был создан автоматически. У меня также есть виртуальная машина ubuntu, на которой я установил rasa. Я создал с помощью pip freze и загрузил все требования и. файлы whl и переместил их с помощью usb на мою автономную виртуальную машину.

3. Попробуйте использовать колесо из pypi.org вместо этого: с поддержкой GPU , только CPU .

4. @hoefling Большое вам спасибо! Теперь он собирает все файлы данных. Но установка завершилась неудачно. Вот журнал:

5. @hoefling Обнаружил существующую установку: six 1.11.0 Удаление six-1.11.0: Исключение: Трассировка (последний последний вызов): Файл «/opt/rh/rh-python36/root/usr/lib64/python3.6/shutil.py «, строка 544, в move os.rename(src, real_dst) Ошибка операционной системы: [Ошибка 18] Недопустимая межустройственная ссылка: ‘/opt/rh/rh-python36/…/six.cpython-36.pyc’ -> ‘/tmp/pip-wd3_6z3t-удалить/opt/rh/rh-python36/root/…/six.cpython-36.pyc’ Ошибка разрешения: [Ошибка 13] Отказано в разрешении: ‘/opt/rh/…s/__pycache__/six.cpython-36.pyc’

Ответ №1:

Похоже tensorflow-2.3.1-py3-none-any.whl , что поврежден. Возможные причины: что-то пошло не так во время загрузки или во время записи на диск этого файла. Скорее всего, повторная загрузка решит проблему.