Próbuję dodać ścieżkę do zmiennej środowiskowej PYTHONPATH, która byłaby widoczna tylko z określonego środowiska virtualenv.
Próbowałem SET PYTHONPATH=...
w wierszu polecenia virtualenv, ale to ustawia zmienną dla całego środowiska.
Jak to osiągnąć?
python
virtualenv
Flavien
źródło
źródło
Jeśli używasz
virtualenv
, prawdopodobnie powinieneś również używać virtualenvwrapper , w takim przypadku możesz użyć polecenia add2virtualenv, aby dodać ścieżki do ścieżki Pythona dla bieżącego virtualenv:add2virtualenv directory1 directory2 …
źródło
add2virtualenv
nie modyfikuje $ PYTHONPATH, a raczej modyfikuje sys.path.add2virtualenv
, zobaczysz, że modyfikuje on sys.path. Zgadzam się, że dokumenty sprawiają, że brzmi to tak, jakby modyfikowałaPYTHONPATH
zmienną środowiskową, ale wydaje się, że jest to niepoprawne. bitbucket.org/virtualenvwrapper/virtualenvwrapper/src/...Możesz także spróbować umieścić dowiązanie symboliczne do jednego z twoich virtualenv.
na przykład. 1) aktywuj virtualenv 2) uruchom Pythona 3) importuj sys i sprawdź sys.path 4) znajdziesz tam ścieżkę wyszukiwania Pythona. Wybierz jeden z nich (np. Pakiety-witryn) 5) przejdź tam i utwórz dowiązanie symboliczne do swojego pakietu, takie jak: ln -s ścieżka-do-twojego-pakietu nazwa-z-którego-będziesz-importować
W ten sposób powinieneś być w stanie zaimportować go nawet bez aktywacji virtualenv. Po prostu spróbuj: path-to-your-virtualenv-folder / bin / python i zaimportuj swój pakiet.
źródło
Jeśli używasz virtualenvwrapper,
konsola wyświetli
To wszystko i powinieneś być gotowy
źródło
Zdecydowanie sugeruję użycie virtualenv i virtualenvwrapper, aby uniknąć zaśmiecania ścieżki.
źródło