Nie chcę zajmować się virtualenv dla lokalnej instalacji Pythona, chcę tylko zainstalować lokalnie kilka pakietów bez zajmowania się PYTHONPATH
zmienną środowiskową. Jak to zrobić?
Nie chcę zajmować się virtualenv dla lokalnej instalacji Pythona, chcę tylko zainstalować lokalnie kilka pakietów bez zajmowania się PYTHONPATH
zmienną środowiskową. Jak to zrobić?
Odpowiedzi:
Python (od wersji 2.6 i 3.0 ) wyszukuje teraz w katalogu ~ / .local instalacje lokalne, które nie wymagają uprawnień administratora, dlatego wystarczy wskazać instalatorowi ten katalog.
Jeśli pakiet został już pobrany foo
i chcesz go zainstalować ręcznie, wpisz:
cd path/to/foo
python setup.py install --user
Jeśli używasz easy_install i chcesz, aby pakiet został pobrany i zainstalowany:
easy_install --prefix=$HOME/.local/ foo
Aktualizacja przez RafiK
pip install --user foo
Następująca odpowiedź jest dostępna dla celów historycznych: To trochę więcej pracy, jeśli używasz pipa do pobrania i zainstalowania:
pip install --install-option="--prefix=$HOME/.local" foo
pip install --user SomePackage
(link do instrukcji) Dzięki temu wszystko powinno działać od
Mimo że lubię Python jako język, dystrybucja pakietów Pythona to bałagan. Zawsze znajduję ludzi, którzy nie znają Pythona, który ma z tym problem.
Obok instalacji lokalnej dla użytkownika opisanej przez Arona (przy użyciu --user lub --prefix) inną opcją jest EasyBuild ( http://hpcugent.github.com/easybuild/ ). Nie tylko dla pakietów Python, ale dla każdego (naukowego) pakietu oprogramowania. Gdy EasyBuild ma wsparcie dla niego, zbudowanie i zainstalowanie pakietu oprogramowania jest w zasadzie pojedynczym poleceniem.
Aby uzyskać listę obecnie obsługiwanych pakietów oprogramowania, zobacz https://github.com/hpcugent/easybuild/wiki/List-of-supported-software-packages .
Oświadczenie: Jestem programistą EasyBuild.
@Aron: Pamiętaj, aby dodać ścieżkę lokalnych pakietów witryn do zmiennej środowiskowej $ PYTHONPATH
--prefix
opcji.
--system-site-packages
?)