Jak zainstalować moduły Pythona bez dostępu do roota?
Biorę udział w zajęciach uniwersyteckich i dostałem "konto instruktażowe" , czyli konto szkolne, na które mogę się zapisać do pracy. Chcę uruchomić mój komputerowo intensywny Kod Numpy, matplotlib, scipy na tej maszynie, ale nie mogę zainstalować tych modułów, ponieważ nie jestem administratorem systemu.
Jak mogę wykonać instalację?
7 answers
W większości sytuacji najlepszym rozwiązaniem jest polegać na tak zwanej lokalizacji "user site" (zobacz PEP po szczegóły), uruchamiając:
pip install --user package_name
Poniżej jest bardziej "ręczny" sposób z mojej oryginalnej odpowiedzi, nie trzeba go czytać, jeśli powyższe rozwiązanie działa dla Ciebie.
Z easy_install możesz zrobić:
easy_install --prefix=$HOME/local package_name
Który zainstaluje się w
$HOME/local/lib/pythonX.Y/site-packages
(folder "lokalny" jest typową nazwą używaną przez wiele osób, ale oczywiście możesz określić dowolny folder, który posiadasz uprawnienia do zapisu).
Będziesz musiał ręcznie utworzyć
$HOME/local/lib/pythonX.Y/site-packages
I dodać go do zmiennej środowiskowej PYTHONPATH
(w przeciwnym razie easy_install będzie narzekać -- btw Uruchom powyższe polecenie raz, aby znaleźć poprawną wartość dla X. Y).
Jeśli nie używasz easy_install
, poszukaj opcji prefiksu, większość skryptów instalacyjnych pozwala określić jeden.
Z pip możesz użyć:
pip install --install-option="--prefix=$HOME/local" package_name
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-17 19:49:19
Brak uprawnień dostępu ani instalacji easy_install
?
Następnie możesz utworzyć Pythona virtualenv
(https://pypi.python.org/pypi/virtualenv ) i zainstalować pakiet z tego środowiska wirtualnego.
Wykonanie 3 komend w powłoce wystarczy:
$ curl -O https://raw.github.com/pypa/virtualenv/master/virtualenv.py
$ python virtualenv.py my_new_env
$ . my_new_env/bin/activate
(my_new_env)$ pip install package_name
Źródło i więcej informacji: https://virtualenv.pypa.io/en/latest/installation/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-20 10:59:25
Możesz uruchomić easy_install, aby zainstalować pakiety Pythona w katalogu domowym, nawet bez dostępu do roota. Jest standardowy sposób, aby to zrobić za pomocą strony.USER_BASE, który domyślnie ma wartość $HOME/.local or $HOME/Library/Python/2.7 / bin and is included by default on the PYTHONPATH
Aby to zrobić, utwórz .pydistutils.cfg w katalogu domowym:
cat > $HOME/.pydistutils.cfg <<EOF
[install]
user=1
EOF
Teraz możesz uruchomić easy_install bez uprawnień roota:
easy_install boto
Alternatywnie, to również pozwala uruchomić pip bez root access:
pip install boto
To mi pasuje.
Źródło z bloga Wesleya Tanaki: http://wtanaka.com/node/8095Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-11-01 16:48:38
Jeśli musisz użyć skryptu distutils setup.py
, istnieje kilka opcji wiersza poleceń do wymuszenia miejsca docelowego instalacji. Zobacz http://docs.python.org/install/index.html#alternate-installation. Jeśli problem się powtórzy, możesz skonfigurować plik konfiguracyjny distutils, Zobacz http://docs.python.org/install/index.html#inst-config-files .
Ustawienie zmiennej PYTHONPATH jest opisane w poście tihos.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-19 10:51:45
Ważne pytanie. Serwer, którego używam (Ubuntu 12.04) miał easy_install3
, ale nie pip3
. W ten sposób zainstalowałem Pip, a następnie inne pakiety do mojego folderu domowego
Poprosił admina o zainstalowanie pakietu Ubuntu
python3-setuptools
-
Zainstalowany pip
Tak:
easy_install3 --prefix=$HOME/.local pip
mkdir -p $HOME/.local/lib/python3.2/site-packages
easy_install3 --prefix=$HOME/.local pip
-
[[9]} Dodaj Pip (i inne aplikacje Pythona do ścieżki)
Tak:
PATH="$HOME/.local/bin:$PATH"
echo PATH="$HOME/.local/bin:$PATH" > $HOME/.profile
- Install Python package
Like this
pip3 install --user httpie
# test httpie package
http httpbin.org
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-09 22:34:24
Używam JuJu , który w zasadzie pozwala na posiadanie naprawdę malutkiej dystrybucji Linuksa (zawierającej tylko menedżera pakietów) wewnątrz $HOME/.katalog juju.
Pozwala na posiadanie własnego systemu wewnątrz katalogu domowego dostępnego przez proot i dlatego można instalować dowolne pakiety bez uprawnień roota. Będzie działać poprawnie we wszystkich głównych dystrybucjach Linuksa, jedynym ograniczeniem jest to, że JuJu może działać na jądrze linux z minimalną zalecaną wersją 2.6.32.
Na przykład, po zainstalowaniu JuJu aby zainstalować pip wystarczy wpisać:
$>juju -f
(juju)$> pacman -S python-pip
(juju)> pip
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-02 18:21:50
Najlepszym i najłatwiejszym sposobem jest polecenie:
pip install --user package_name
Http://www.lleess.com/2013/05/how-to-install-python-modules-without.html#.WQrgubyGOnc
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-04 08:21:14