루트 액세스 없이 python 모듈을 설치하는 방법
저는 대학교 수업을 듣고 있는데, '교육 계정'을 받았습니다. 이 계정은 제가 일을 할 때 사용할 수 있는 학교 계정입니다.계산 부하가 높은 Numpy, matplotlib, scipy 코드를 그 머신으로 실행하고 싶은데 시스템 관리자가 아니기 때문에 이러한 모듈을 설치할 수 없습니다.
설치는 어떻게 하면 어떻게 됩니까?
대부분의 경우 최적의 솔루션은 다음 작업을 수행하여 이른바 "사용자 사이트" 위치에 의존하는 것입니다(자세한 내용은 PEP 참조).
pip install --user package_name
아래는 저의 원래 답변보다 더 "수동"적인 방법입니다. 위의 솔루션이 도움이 된다면 읽을 필요가 없습니다.
easy_install을 사용하면 다음 작업을 수행할 수 있습니다.
easy_install --prefix=$HOME/local package_name
에 인스톨 됩니다.
$HOME/local/lib/pythonX.Y/site-packages
('로컬' 폴더는 많은 사용자가 사용하는 일반적인 이름이지만, 물론 쓸 권한이 있는 폴더를 지정할 수 있습니다).
수동으로 작성해야 합니다.
$HOME/local/lib/pythonX.Y/site-packages
에 추가합니다.PYTHONPATH
환경변수(그렇지 않으면 easy_install이 불만을 제기합니다) --btw는 위의 명령을 한 번 실행하여 X의 올바른 값을 찾습니다.Y)
「 」를하고 있지 않은 경우easy_install
어느쪽인가를 할 수 ., 「」를 참조해 주세요.대부분의 인스톨스크립트에서는, 프리픽스옵션을 지정할 수 있습니다.
pip에서는 다음을 사용할 수 있습니다.
pip install --install-option="--prefix=$HOME/local" package_name
도, 인스톨 권한도입 권한도 없습니다.easy_install
다음 수 .virtualenv
(https://pypi.python.org/pypi/virtualenv) 및 이 가상 환경에서 패키지를 설치합니다.
셸에서 4개의 명령어를 실행하는 것으로 충분합니다(X.X의 경우 16.1.0과 같은 최신 릴리스를 삽입합니다).X):
$ curl --location --output virtualenv-X.X.X.tar.gz https://github.com/pypa/virtualenv/tarball/X.X.X
$ tar xvfz virtualenv-X.X.X.tar.gz
$ python pypa-virtualenv-YYYYYY/src/virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install package_name
출처 및 상세정보 : https://virtualenv.pypa.io/en/latest/installation/
root 액세스 없이도 easy_install을 실행하여 python 패키지를 홈 디렉토리에 설치할 수 있습니다.사이트를 사용하여 이를 수행하는 표준 방법이 있습니다.USER_BASE: $HOME/.local 또는 $HOME/Library/Python/2.7/bin과 같은 기본 설정으로 PYTONPATH에 포함되어 있습니다.
이를 수행하려면 홈 디렉토리에 .pydistutils.cfg를 만듭니다.
cat > $HOME/.pydistutils.cfg <<EOF
[install]
user=1
EOF
이제 루트 권한 없이 easy_install을 실행할 수 있습니다.
easy_install boto
또는 루트 액세스 없이 pip을 실행할 수도 있습니다.
pip install boto
난 이거면 돼.
Wesley Tanaka 블로그 출처 : http://wtanaka.com/node/8095
디스트리뷰트를 해야 하는 setup.py
스크립트에는, 인스톨처를 강제하기 위한 몇개의 커맨드 라인 옵션이 있습니다.http://docs.python.org/install/index.html#alternate-installation 를 참조해 주세요.이 문제가 반복되면 디스트리뷰트 설정 파일을 셋업할 수 있습니다.http://docs.python.org/install/index.html#inst-config-files 를 참조해 주세요.
PYTONPATH 변수 설정은 tihos 포스트에서 설명합니다.
중요한 질문입니다.사용하고 있는 서버(Ubuntu 12.04)는easy_install3
하지만 아니다pip3
이렇게 해서 Pip과 다른 패키지를 홈 폴더에 설치했습니다.
관리자에게 Ubuntu 패키지 설치를 의뢰했다.
python3-setuptools
설치된 pip
다음과 같이 합니다.
easy_install3 --prefix=$HOME/.local pip
mkdir -p $HOME/.local/lib/python3.2/site-packages
easy_install3 --prefix=$HOME/.local pip
- Pip(및 다른 Python 앱을 경로에 추가)
다음과 같이 합니다.
PATH="$HOME/.local/bin:$PATH"
echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile
- Python 패키지 설치
이것처럼.
pip3 install --user httpie
# test httpie package
http httpbin.org
기본적으로 $HOME/.ju 디렉토리 내에 매우 작은 Linux 디스트리뷰션(패키지 매니저만 포함)을 가질 수 있는 JuJu를 사용하고 있습니다.
이를 통해 홈 디렉토리 내의 커스텀시스템을 proot 경유로 액세스 할 수 있기 때문에 root 권한 없이 임의의 패키지를 설치할 수 있습니다.모든 주요 Linux 디스트리뷰션에서 정상적으로 동작합니다.단, JuJu가 권장되는 최소한의 버전 2.6.32의 Linux 커널에서 동작할 수 있다는 것이 유일한 제한입니다.
예를 들어, PIP를 설치하기 위해 JuJu를 설치한 후 다음과 같이 입력합니다.
$>juju -f
(juju)$> pacman -S python-pip
(juju)> pip
가장 쉽고 최선의 방법은 다음 명령어입니다.
pip install --user package_name
http://www.lleess.com/2013/05/how-to-install-python-modules-without.html #.WQrgubyGONC
virtualenv 로컬 설치(지시 소스):
중요:X.X.X 의 최신 릴리스(16.1.0 등)를 삽입합니다.
추출된 파일의 이름을 확인하고 YYYY 에 삽입합니다.
$ curl -L -o virtualenv.tar.gz https://github.com/pypa/virtualenv/tarball/X.X.X
$ tar xfz virtualenv.tar.gz
$ python pypa-virtualenv-YYYYY/src/virtualenv.py env
필요한 패키지를 사용하거나 설치하기 전에source
가상 Python 환경env
:
$ source env/bin/activate
numpy와 같은 새로운 python 패키지를 설치하려면 다음을 사용합니다.
(env)$ pip install <package>
관리자 권한 없이 Python 패키지 설치
import sys
!{sys.executable} -m pip install package_name
예
import sys
!{sys.executable} -m pip install kivy
참고 자료: https://docs.python.org/3.4/library/sys.html#sys.executable
언급URL : https://stackoverflow.com/questions/7465445/how-to-install-python-modules-without-root-access
'programing' 카테고리의 다른 글
Java의 ArrayList에서 원하는 값 가져오기 (0) | 2022.11.26 |
---|---|
정적 변수는 언제 초기화됩니까? (0) | 2022.11.26 |
Python 스크립트를 실행하지 않고 어떻게 구문을 확인할 수 있습니까? (0) | 2022.11.26 |
JavaScript에서 네임스페이스를 선언하려면 어떻게 해야 합니까? (0) | 2022.11.26 |
Vue.js 2의 컴포넌트에서 이벤트 청취자에 액세스할 수 있습니까? (0) | 2022.11.26 |