Dla Pythona 3.3+ (z nowym venv
wbudowanym modułem)
Krótka odpowiedź (niezależnie od wersji):
- Nie ma czystego, bezpośredniego sposobu na przeniesienie środowiska wirtualnego
- Po prostu odtwórz, to proste !!
Długa odpowiedź:
Począwszy od wersji 3.3, Python virtualenv
stał się wbudowanym modułem o nazwie venv
.
--relocatable
Opcja wspomniano w innych odpowiedzi nie została włączona venv
, a obecnie nie ma dobra, bezpieczna droga, że jestem świadom, aby zmienić nazwę lub przenieść do wirtualnego środowiska Pythona.
Istnieje jednak dość prosty sposób na odtworzenie środowiska wirtualnego ze wszystkimi aktualnie zainstalowanymi pakietami. Zobacz tę odpowiedź lub zobacz sekcję poniżej, aby uzyskać informacje na temat odtwarzania środowiska wirtualnego. Podczas tego procesu możesz odtworzyć nowe środowisko w dowolnym miejscu i pod dowolną nazwą. Lub zobacz sekcję poniżej, aby zapoznać się z procesem.
W tej odpowiedzi wspomina o kilku innych pakietach innych firm, które mogą obsługiwać bezpośrednie zmiany nazw lub ruchy. Jeśli zależy Ci na znalezieniu sposobu na przeniesienie środowiska wirtualnego w nienaruszonym stanie, możesz sprawdzić, czy one venv
również działają.
Uwaga: w tej odpowiedzi skupia się virtualenv
raczej na niż venv
. Zobacz poniżej, jak tłumaczyć.
venv
w porównaniu ze starszą virtualenv
składnią poleceń
Polecenie do użycia venv
to:
python -m venv
a nie tylko virtualenv
, który instaluje się jako polecenie w oryginalnym pakiecie. Gdzie „python” odnosi się do tego, jak uruchamiasz plik wykonywalny pythona, którym może być wiele różnych rzeczy, takich jak:
python
py
lub py -3.7
podobny ( Python Launcher for Windows for Python 3.3+ i Windows tylko w tej chwili)
python3
(konwencja dla środowisk linux, które instalują podwójnie Python 2 i 3)
- Jeśli masz problemy, użyj bezwzględnej ścieżki do pliku wykonywalnego Pythona, który chcesz uruchomić: np
c:\program files\python37\python.exe
Jeśli nie masz pewności, która wersja jest uruchamiana, zawsze możesz python --version
się dowiedzieć.
Jak odtworzyć środowisko wirtualne
Tworzenie / odtwarzanie wirtualnego środowiska jest łatwe i powinno stać się drugą naturą po dłuższej pracy z nim. Ten proces odzwierciedla to, co zrobiłbyś, aby rozpowszechnić swój skrypt jako pakiet (wraz z jego zależnościami) w pierwszej połowie, a następnie co ktoś zrobiłby, aby zainstalować twój skrypt / pakiet do dalszego rozwoju.
Najpierw uzyskaj zaktualizowaną listę tego, co znajduje się w środowisku wirtualnym. Gdy jest aktywna, pobierz wersję Pythona, której używa, i zapisz listę zależności do pliku.
Używaj python --version
z aktywowanym środowiskiem wirtualnym, aby zobaczyć, jakiej wersji Pythona używa.
- Jest to dla jasności - możesz chcieć zaktualizować wersję Pythona z różnych powodów - przynajmniej do najnowszej wersji poprawki
- Na przykład, jeśli istniejący venv korzysta z Pythona w wersji 3.7.4, ale teraz wersja 3.7.6 jest niedostępna - zamiast tego użyj wersji 3.7.6, która powinna zawierać tylko nierozerwalne zabezpieczenia i poprawki błędów.
Służy python -m pip freeze > requirements.txt
do tworzenia listy bieżących zależności pakietów i umieszczania ich w requirements.txt
pliku. To polecenie na pewno działa w systemie Linux lub Git Bash - nie mam 100% pewności co do Powershell lub wiersza poleceń w systemie Windows.
Teraz utwórz nowe środowisko wirtualne, a następnie dodaj zależności ze starego.
Zrób swój nowy venv.
- Upewnij się, że używasz poprawnej wersji Pythona, którą chcesz zainstalować na venv.
- Jeśli chcesz, aby była to dokładnie ta sama wersja Pythona:
- Uruchom Pythona bezpośrednio z bieżącego środowiska wirtualnego (z aktywowanym) i użyj
python
jako polecenia
- Lub użyj ścieżki bezwzględnej
python.exe
w folderze środowiska wirtualnego
- Dla nowego wpisu folderu venv w poleceniu:
- Dodaj bezwzględną lub względną ścieżkę do żądanej lokalizacji folderu końcowego.
- Służy
python -m venv my_new_venv
do tworzenia nowego środowiska wirtualnego w bieżącym katalogu roboczym w nowym my_new_venv
folderze.
- Nazwa folderu venv będzie nazwą folderu venv (co pojawia się w monicie, gdy jest aktywowany).
Zainstaluj zależności z requirements.txt
pliku.
python -m pip install -r requirements.txt
Może być konieczne ponowne zainstalowanie pakietów lokalnych, które są w trybie programowania.
Uwaga, jeśli kiedykolwiek będziesz potrzebować zobaczyć konkretną lokalizację, w której pakiet jest zainstalowany, użyj:
python -m pip list -v
- Opcja
-v
lub „verbose” doda dodatkowe informacje o każdym zainstalowanym pakiecie, w tym o ścieżce, w której jest on zainstalowany. Jest to przydatne, aby upewnić się, że pakiety wirtualne, zainstalowane przez użytkownika i zainstalowane przez system są proste.
W tym momencie możesz po prostu usunąć stary folder venv i całą zawartość. Zalecam używanie do tego GUI - usuwanie plików jest często trwałe z linii poleceń Linuksa, a mała literówka może być złą wiadomością.