«Не удается объединить пользователя с префиксом» при попытке создать zip-пакет для функции с зависимостями - PullRequest
2 голосов
/ 30 мая 2019

Я пытаюсь создать пакет развертывания с дополнительными зависимостями в соответствии с данным руководством https://docs.aws.amazon.com/lambda/latest/dg/lambda-python-how-to-create-deployment-package.html

Я делаю это в качестве теста, чтобы увидеть, насколько это просто. Поэтому я решил попробовать импортировать первый пакет, который появился у меня в голове, который был tldextract.

В руководстве сказано, чтобы я сделал пакет с именем fir, войдите в этот пакет и введите "pip3 install tldextract --target".

Однако я получаю сообщение об ошибке: distutils.errors.DistutilsOptionError: невозможно объединить пользователя с префиксом, exec_prefix / home или install_ (plat) base

Я искал это: Объединить --user с ошибкой --prefix с установкой setup.py Но безрезультатно.

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 360, in run
    prefix=options.prefix_path,
  File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/usr/lib/python3/dist-packages/pip/wheel.py", line 247, in move_wheel_files
    prefix=prefix,
  File "/usr/lib/python3/dist-packages/pip/locations.py", line 153, in distutils_scheme
    i.finalize_options()
  File "/usr/lib/python3.6/distutils/command/install.py", line 274, in finalize_options
    raise DistutilsOptionError("can't combine user with prefix, "
distutils.errors.DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base```

1 Ответ

1 голос
/ 19 июня 2019

Возможно, вы прошли это, но на всякий случай это поможет (это привело меня к стене за последние полчаса):

Я использую Debian и пытался установить pymysql, но попробуйте ввести команду с sudo:

 sudo pip3 install tldextract --target .

Я не знаю, почему это сработало, но я обновлюсь с дополнительной информацией, если я столкнусь с какой-либо. Файлы были установлены в моем локальном каталоге, принадлежащем пользователю root, что, к сожалению, но chown исправило это.

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