EC2 인스턴스에서 를 사용하여 Python 패키지를 설치하려고 시도했지만 pip
이라는 예외가 발생합니다 ModuleNotFoundError: No module named 'setuptools'
.
상황에 따라 내가 실행한 명령은 다음과 같습니다.
pip install --user mlflow
setuptools
다음 명령을 사용하여 설치 문제를 해결하려고 했습니다 sudo yum install python36-setuptools
. 그러나 반환된 메시지는 setuptools
이미 설치되어 있음을 나타냅니다.
Package python36-setuptools-36.2.7-1.33.amzn1.noarch already installed and latest version
Nothing to do
조언해주세요.
고쳐 쓰다:EC2 인스턴스를 에서 로 전환한 후 를 사용하여 성공적으로 설치할 수 Amazon Linux AMI 2018.03.0
있었습니다 .Amazon Linux 2 AMI
mlflow
pip
문제는 여전히 남아 있습니다. 왜 사용할 수 있지만 Amazon Linux 2 AMI
성공적으로 설치되지 않습니까 Amazon Linux AMI 2018.03.0
?
답변1
과거에 이 문제를 일으킨 작업을 했을 수 있으므로 컴퓨터에 액세스할 수 없는 경우 이를 확인하기 어려울 수 있습니다.
가장 가능성 있는 설명은 다음과 같습니다.
pip
python2 를 가리키 므로 이전 AMI에서는 작동하지 않지만 pip
python setuptools
3.6이 설치되어 있습니다. 이를 설치해야 할 수도 있습니다 python-setuptools-36.2.7
.
올바른 설치 도구가 이미 설치되어 있으므로 다른 AMI에서도 작동할 수 있습니다.
이것은 또한 Python 2와 Python 3이 호환되지 않아 python-2-libraries가 Python 3에서 작동하지 않기 때문에 질문의 두 번째 부분에 대한 답변입니다.
또 다른 가능성은 루트가 아닌 사용자로 실행되는 pip가 액세스할 수 없도록 하는 권한 문제가 있거나 setuptools
어떤 방식으로든 패키지를 찾을 수 없게 하는 문제가 있다는 것
입니다 .PYTHONPATH
바라보다이것기본 Python 버전 및 AMI의 Python 2 지원에 대해 설명합니다.
답변2
소스에서 패키지를 설치하려고 할 때 동일한 EC2 AMI에서 이 문제가 발생했습니다. 여러분과 마찬가지로 저도 python36 패키지와 함께 제공되는 기본값에서 pip를 업데이트했습니다. 단, sudo가 아닌 사용자별 모듈만 업데이트했습니다.
저는 간단히 기본 버전으로 되돌려서 이 문제를 해결했습니다.
python3 -m pip install pip==9.0.3
시스템 pip 대신 python36 pip를 명시적으로 대상으로 지정했음에도 불구하고 설명할 수 없는 setuptools 오류가 발생했을 때 alembic==1.4.2(airflow 1.10.12의 고정 종속성)를 설치하고 있었습니다.
내가 pip를 업데이트한 유일한 이유는이건 틀렸어IPython 패키지를 차단합니다. 이를 위해서는 v7.17+부터 시작하는 Python 3.7이 필요합니다. 이는 또 다른 고정된 공기 흐름 종속성입니다.
[...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'