아치 리눅스에서 파이썬 모듈 #
아치 리눅스에서는 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 경로
로 파이썬 가상 환경을 생성할 수 있다.
예시
자세히 보면 파이썬은 원래 파이썬으로 심볼릭 링크가 걸려있는데 자세한건 잘 모르겠다.
pip로 모듈 설치는 대충 이런 식으로 하면 된다.
bin 디렉토리의 activate를 실행시키면 가상환경의 파이썬을 기본값으로 사용하게 되고 셸 앞에 괄호로 가상환경 이름이 나온다.(리눅스에서 아나콘다 설치해 본 적 있다면 그거 생각하면 된다.)
source vpy/bin/activate
셔뱅이 없어서 바로 실행은 안되고 source 명령어로 실행해야 하는 듯 하다.
pipx는 방금까지 과정들을 자동으로 해준다.
pipx는 따로 설치해줘야 한다
sudo pacman -S python-pipx