pip를 사용하여 Python 패키지 설치

pip를 사용하여 Python 패키지 설치

pip를 사용하여 Ubuntu 17.04에 pipemcache를 설치하려고 하는데 아래 오류가 발생합니다. 모듈은 -t 옵션 없이 설치됩니다. 하지만 특정 디렉터리에 모듈을 설치하여 패키징하여 클라우드에 업로드하고 싶습니다.

누군가 나를 도와 주실 수 있습니까?

pip install -t /home/praveen/Code/AWS/Lambda/Memcached-Py pymemcache



Collecting pymemcache
    Using cached pymemcache-1.4.3-py2.py3-none-any.whl
Collecting six (from pymemcache)
    Using cached six-1.10.0-py2.py3-none-any.whl
Installing collected packages: six, pymemcache
Exception:
Traceback (most recent call last):
    File "/usr/lib/python2.7/dist-packages/pip/basecommand.py", line 215, in main
        status = self.run(options, args)
    File "/usr/lib/python2.7/dist-packages/pip/commands/install.py", line 360, in run
        prefix=options.prefix_path,
    File "/usr/lib/python2.7/dist-packages/pip/req/req_set.py", line 784, in install
        **kwargs
    File "/usr/lib/python2.7/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/python2.7/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
        isolated=self.isolated,
    File "/usr/lib/python2.7/dist-packages/pip/wheel.py", line 247, in move_wheel_files
        prefix=prefix,
    File "/usr/lib/python2.7/dist-packages/pip/locations.py", line 153, in distutils_scheme
        i.finalize_options()
    File "/usr/lib/python2.7/distutils/command/install.py", line 289, in finalize_options
        raise DistutilsOptionError("can't combine user with prefix, "
DistutilsOptionError: can't combine user with prefix, exec_prefix/home, or install_(plat)base

답변1

이 문제는 Ubuntu의 패치 버전에 있는 명시 -t적 옵션과 암시적 옵션 간의 충돌로 인해 발생합니다 . 이에 대한 내용은 의 GitHub 저장소 에 설명되어 있습니다 .--userpippiphttps://github.com/pypa/pip/issues/3826그리고https://github.com/pypa/pip/issues/4390.

이를 방지하려면 virtualenv를 사용하는 것이 좋습니다. 단계는 다음과 같습니다:

  1. virtualenv아직 설치하지 않은 경우 다음을 설치하세요 .

    sudo apt update
    sudo apt install virtualenv
    
  2. virtualenv를 생성 및 활성화하고 업그레이드하십시오 pip.

    virtualenv venv
    source venv/bin/activate
    pip install -U pip
    
  3. pymemcache다음 옵션을 사용하여 지정된 디렉터리에 설치합니다 -t.

    pip install -t /home/praveen/Code/AWS/Lambda/Memcached-Py pymemcache
    

관련 정보