Разрешения оцениваются в порядке (1 )пользователей, (2 )групп и (3 )других, и применяется только первое совпадение. В этом случае проверка «пользователь» совпадает — вы являетесь владельцем каталога. Разрешения на каталог не позволяют пользователю писать в него.
Без доступа к машине,это будет очень сложно проверить, потому что вы могли сделать что-то в прошлом, что вызвало эту проблему.
Наиболее вероятное объяснение следующее:
Это не работало со старым AMI, потому что pip
указывает на python2 pip
, но setuptools
установлен для python 3.6. Вероятно, вам нужно было бы установить python-setuptools-36.2.7
.
Вероятно, это работает на другом AMI, потому что правильные инструменты настройки уже установлены.
Это также ответит на вторую часть вопроса, потому что python 2 и python 3 несовместимы таким образом, что библиотеки python -2 -нельзя использовать с python 3.
Другая возможность заключается в том, что по какой-то причине возникла проблема с правами доступа, из-за которой pip, работающий от имени пользователя, не являющегося -root, не мог получить доступ к setuptools
.
Или ваш PYTHONPATH
был в чем-то неисправен, так что пакет не мог быть найден.
См. это относительно версии Python по умолчанию и поддержки Python 2 в вашем AMI.
Я только что столкнулся с этим в том же EC2 AMI при попытке установить пакет из исходного кода. Как и вы, я также обновил свой pip по умолчанию, который поставляется с пакетом python36, хотя только для пользовательского модуля -, а не с sudo.
Я исправил это, просто вернувшись к версии по умолчанию.
python3 -m pip install pip==9.0.3
Я устанавливал alembic==1.4.2 (, которая является закрепленной зависимостью для воздушного потока 1.10.12 ), когда я получил эту необъяснимую ошибку setuptools -, хотя я явно нацелился на пипс python36 и не системный пипс.
Единственная причина, по которой я даже обновил pip, заключалась в этой ошибке pip , которая блокировала пакет IPython. Для этого требуется Python 3.7, начиная с v7.17+ -, еще одна закрепленная зависимость воздушного потока.
[...snip...]
Successfully installed setuptools-50.3.0 wheel-0.35.1
Removed build tracker: '/tmp/pip-req-tracker-c93y9xdk'
Installing build dependencies... done
Running command /usr/bin/python3 /home/airflow/.local/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpqnn43_v0
Getting requirements to build wheel... done
ERROR: Exception:
Traceback (most recent call last):
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_internal/cli/base_command.py", line 228, in _main
status = self.run(options, args)
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_internal/cli/req_command.py", line 182, in wrapper
return func(self, options, args)
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_internal/commands/install.py", line 324, in run
reqs, check_supported_wheels=not options.target_dir
File "/home/airflow/.local/lib/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/airflow/.local/lib/python3.6/site-packages/pip/_internal/resolution/legacy/resolver.py", line 388, in _resolve_one
abstract_dist = self._get_abstract_dist_for(req_to_install)
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_internal/resolution/legacy/resolver.py", line 340, in _get_abstract_dist_for
abstract_dist = self.preparer.prepare_linked_requirement(req)
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 483, in prepare_linked_requirement
req, self.req_tracker, self.finder, self.build_isolation,
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_internal/operations/prepare.py", line 91, in _get_prepared_distribution
abstract_dist.prepare_distribution_metadata(finder, build_isolation)
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_internal/distributions/sdist.py", line 38, in prepare_distribution_metadata
self._setup_isolation(finder)
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_internal/distributions/sdist.py", line 96, in _setup_isolation
reqs = backend.get_requires_for_build_wheel()
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_vendor/pep517/wrappers.py", line 161, in get_requires_for_build_wheel
'config_settings': config_settings
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_vendor/pep517/wrappers.py", line 265, in _call_hook
raise BackendUnavailable(data.get('traceback', ''))
pip._vendor.pep517.wrappers.BackendUnavailable: Traceback (most recent call last):
File "/home/airflow/.local/lib/python3.6/site-packages/pip/_vendor/pep517/_in_process.py", line 86, in _build_backend
obj = import_module(mod_path)
File "/usr/lib64/python3.6/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 941, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 994, in _gcd_import
File "<frozen importlib._bootstrap>", line 971, in _find_and_load
File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'setuptools'