본문으로 건너뛰기
  1. Posts/

아치 리눅스에서 파이썬 모듈과 가상환경

·
Linux Python
작성자
hw5e
page.hw5e.cc
목차

아치 리눅스에서 파이썬 모듈
#

아치 리눅스에서는 OS가 기본으로 사용하는 파이썬에 pip로 파이썬 모듈을 설치하는 것을 막고 있다.

파이썬 모듈 막 설치하다가 의존성이 꼬이고 뭔가 고장나는 것을 생각하면 납득가능하긴 하다.(저 파이썬은 되도록 안건드리는게 좋다.)

pip로 설치를 시도하면 이렇게 나오는데

error: externally-managed-environment

× This environment is externally managed
╰─> To install Python packages system-wide, try 'pacman -S
    python-xyz', where xyz is the package you are trying to
    install.
    
    If you wish to install a non-Arch-packaged Python package,
    create a virtual environment using 'python -m venv path/to/venv'.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip.
    
    If you wish to install a non-Arch packaged Python application,
    it may be easiest to use 'pipx install xyz', which will manage a
    virtual environment for you. Make sure you have python-pipx
    installed via pacman.

note: If you believe this is a mistake, please contact your Python installation or OS distribution provider. 
You can override this, at the risk of breaking your Python installation or OS, by passing --break-system-packages.
hint: See PEP 668 for the detailed specification.

경고문을 보면 아치리눅스에서 관리하는 파이썬 모듈인 경우 python-모듈이름 패키지를 pacman을 이용해서 설치하고 그렇지 않으면 파이썬 가상 환경을 이용하라고 한다. 예를 들면 requests 모듈을 설치하려면

sudo pacman -S python-requests

가 될 것이다.

마지막 부분에 적힌 대로 –break-system-packages을 붙여서 무시하고 설치할 수 있는 것 같지만 앞서 말했듯이 굳이 하지는 말자.

파이썬 가상환경 사용해보기
#

오류 메시지에 나온 대로

python -m venv 경로

로 파이썬 가상 환경을 생성할 수 있다.

예시

설정한 경로에 파이썬 가상 환경에 필요한 파일들이 생성된 것을 볼 수 있는데 실행파일들은 지정한 경로의 bin 디렉토리에 있다.

자세히 보면 파이썬은 원래 파이썬으로 심볼릭 링크가 걸려있는데 자세한건 잘 모르겠다.

pip로 모듈 설치는 대충 이런 식으로 하면 된다.

bin 디렉토리의 activate를 실행시키면 가상환경의 파이썬을 기본값으로 사용하게 되고 셸 앞에 괄호로 가상환경 이름이 나온다.(리눅스에서 아나콘다 설치해 본 적 있다면 그거 생각하면 된다.)

source vpy/bin/activate

셔뱅이 없어서 바로 실행은 안되고 source 명령어로 실행해야 하는 듯 하다.

pipx는 방금까지 과정들을 자동으로 해준다.

pipx는 따로 설치해줘야 한다

sudo pacman -S python-pipx

pipx를 사용해서 yt-dlp를 설치해본 모습인데, 이 때 생성된 가상환경은 ~/.local/share/pipx/venvs/모듈이름 에 있다.

Reply by Email