Próbuję uczynić moduł wykrywalnym w systemie, w którym nie mam dostępu do zapisu do globalnego katalogu site-packages
i bez zmiany środowiska (PYTHONPATH
). Próbowałem umieścić plik .pth
w tym samym katalogu, co wykonywany skrypt, ale wydaje się, że jest on ignorowany. Na przykład, stworzyłem plik extras.pth
o następującej treści:Używanie plików .pth
N:\PythonExtras\lib\site-packages
Ale poniższy skrypt, umieszczony i uruchomić w tym samym katalogu, druki False
.
import sys
print r"N:\PythonExtras\lib\site-packages" in sys.paths
Jedyny katalog w sys.path
do których mam dostęp do zapisu jest katalog zawierający skrypt. Czy istnieje inny (obecnie nieistniejący) katalog, w którym mogę umieścić extras.pth
i czy jest widoczny? Czy istnieje lepszy sposób na rozwiązanie tego problemu?
Używam Pythona 2.7 w systemie Windows. Wszystkie pytania, które mogłem znaleźć tutaj, używają katalogów modułów systemowych.
Edit: Mam wytropił katalog instalacyjny systemu Windows dla każdego użytkownika, w %APPDATA%\Python\Python27\site-packages
. Mogę tam umieścić moduł i zostanie zaimportowany, ale jeśli wstawię tam plik .pth
, nie będzie to miało żadnego efektu. Czy to naprawdę nie powinno działać, czy robię coś złego?
Problem polega na tym, że chodzi o uczenie klasy, a ja staram się, aby działała możliwie jak najbliżej. Ludzie zawsze zaczynają nowy pyton i wpadają w kłopoty. Czy w "Dokumentach i ustawieniach" nie ma niektórych folderów, które liczą się jako "katalogi stron"? Różni instalatorzy będą umieszczać tam różne rzeczy, ale nie wiem, gdzie i czy są sprawdzane pod kątem plików '.pth'. – alexis
Tak, jest i jest to udokumentowane wraz ze wszystkim innym na http://docs.python.org/2/library/site.html#site.USER_SITE. Myślałem, że powiedziałeś, że masz dostęp do zapisu tylko do katalogu skryptów, ale widzę, że źle odczytałem. – BrenBarn
Tak, dziękuję, wymyślam tę stronę.html' to miejsce do patrzenia. Jednak umieszczenie '.pth' nie wydaje się działać ... – alexis