Я пытаюсь создать пакет развертывания с дополнительными зависимостями в соответствии с этим руководством 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```
Возможно, вы уже прошли мимо этого, но на всякий случай это поможет (это довело меня до белого каления за последние полчаса):
Я использую Debian и пытаюсь установить pymysql
, но попробуйте ввести команду с помощью sudo:
sudo pip3 install tldextract --target .
Я еще не знаю, почему это сработало, но буду обновлять информацию, если найду что-нибудь. Файлы были установлены в моем локальном каталоге, принадлежащем root, что очень жаль, но chown
это исправлено.
Не уверен, почему я не пробовал это. Но спасибо, поработал!