Skonfigurowałem PyCharm, stworzyłem virtualenv (za pomocą wirtualnego polecenia env lub bezpośrednio w PyCharm) i aktywowałem to środowisko jako mojego tłumacza. Wszystko działa dobrze.
Jeśli jednak otworzę terminal za pomocą „Narzędzia, otwórz terminal”, podana zachęta powłoki nie używa wirtualnego środowiska env; Nadal muszę używać source ~/envs/someenv/bin/activate
tego terminala, aby go aktywować.
Inną metodą jest aktywacja środowiska w powłoce i uruchomienie PyCharm z tego środowiska. Jest to „wykonalne”, ale dość brzydkie i oznacza, że mam poważne problemy, jeśli zmienię środowisko lub projekty z PyCharm: teraz używam całkowicie niewłaściwego środowiska.
Czy istnieje inny, znacznie łatwiejszy sposób, aby „Narzędzia, otwórz terminal” automatycznie aktywowało środowisko wirtualne?
~/pycharmenv/bin/terminalactivate
brzmi jak dobra opcja..pycharmrc
w katalogu domowym projektu, dzięki czemu mogę mieć inny plik dla każdego projektu. W poprawnie skonfigurowanym projekcie nie ma potrzeby podawania bezwzględnej ścieżki dostępu do.pycharmrc
pliku.Aktualizacja:
Preferencje w Ustawieniach (Preferencje) | Narzędzia | Terminal jest globalny.
Jeśli używasz venv dla każdego projektu, pamiętaj, aby użyć bieżącej zmiennej ścieżki i domyślnej nazwy venv:
Dla użytkowników systemu Windows: podczas korzystania z PyCharm w środowisku wirtualnym można użyć
/K
parametru tocmd.exe
aby automatycznie ustawić środowisko wirtualne.Pycharm 3 lub 4:
Settings
,Terminal
,Default shell
i dodatek/K <path-to-your-activate.bat>
.Pycharm 5:
Settings
,Tools
,Terminal
i dodać/K <path-to-your-activate.bat>
doShell path
.Pycharm 2016,1 2016,2 lub:
Settings
,Tools
,Terminal
, i dodać""/K <path-to-your-activate.bat>""
doShell path
i dodać (przeszkadza cytaty). Dodaj także cudzysłowy wokół cmd.exe, co spowoduje:"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""
źródło
%CD%
jest to bieżący katalog roboczy, zobacz polecenie powłoki systemu Windows, aby uzyskać pełną ścieżkę do bieżącego katalogu?W przypadku użytkowników systemu Windows korzystających z PyCharm i środowiska wirtualnego w systemie Windows można użyć parametru / k do cmd.exe, aby automatycznie ustawić środowisko wirtualne.
Idź do Ustawienia, Terminal, Domyślna powłoka i dodaj
/K <path-to-your-activate.bat>
.Nie mam reputacji, aby komentować wcześniejszą odpowiedź, więc publikuję tę poprawioną wersję. To naprawdę oszczędza dużo czasu.
Aktualizacja:
Uwaga: Pycharm obsługuje teraz bezpośrednio środowiska wirtualne i wydaje mi się, że działa dobrze - więc moje obejście nie jest już potrzebne.
źródło
Opierając się na odpowiedziach Petera i eksperymentach, znalazłem dobre „ogólne rozwiązanie”, które rozwiązuje następujące kwestie:
Upuść ten skrypt gdzieś do katalogu bin. Np. ~ / Bin / pycharmactivate
Następnie ustaw ścieżkę powłoki PyCharm na:
źródło
if [ -r "/etc/profile" ] ; then . /etc/profile ; fi if [ -r "~/.bash_profile" ] ; then . ~/.bash_profile elif [ -r "~/.bash_login" ] ; then . ~/.bash_login elif [ -r "~/.profile" ] ; then . ~/.profile fi source ~/learnp/project1/venv/bin/activate
PyCharm 4 ma teraz virtualenvs zintegrowane z IDE. Wybierając interpretera projektu, możesz utworzyć, dodać lub wybrać virtualenv. Dodali „konsolę Pythona”, która działa w skonfigurowanym interpretatorze projektu.
Więcej informacji tutaj.
źródło
source /path/to/venv/bin/activate
ręcznie w terminalu.Dzięki Chris, twój skrypt działał przy niektórych projektach, ale nie we wszystkich na moim komputerze. Oto skrypt, który napisałem i mam nadzieję, że ktoś uzna go za przydatny.
źródło
source /etc/profile
na początku pliku ~ / .pycharmrc (na Mac Yosemite) 2) W Pycharm edit Preferences> Tools> Terminal> Shell path to "/ bin / bash --rcfile ~ / .pycharmrc"Widziałem wszystkie powyższe odpowiedzi, ale żadna z nich nie jest dla mnie wystarczająco elegancka. W pycharm 2017.1.3 (w komputerze), najłatwiej jest otworzyć
Settings->Tools->Terminal
i sprawdzićShell integration
iActivate virtualenv
opcje.źródło
Jeśli używasz wersji Windows, jest to całkiem proste. Jeśli masz już środowisko wirtualne, po prostu przejdź do jego folderu, znajdź
activate.bat
wewnątrzScripts
folderu. skopiuj pełną ścieżkę i wklej ją w terminalu Pycharm, a następnie naciśnijEnter
i gotowe!Jeśli potrzebujesz stworzyć nowe środowisko wirtualne:
Przejdź do plików> ustawienia, a następnie wyszukaj
project interpreter
, otwórz, kliknij przycisk koła zębatego i stwórz środowisko w dowolnym miejscu, a następnie wykonaj pierwszy akapit.źródło
activate.bat
dla każdego z nich jest osobno ?activate.bat
pliki. jeśli podoba Ci się odpowiedź, zapraszam do głosowania za;)Scripts
folderze nie ma żadnych folderów . Również Pycharm narzeka, żeactivate.bat
nie jest to poprawny pakiet SDK dla Pythonaactivate
plik wsadowy. lub jeśli jest to możliwe, po prostu przejdź do tworzenia nowego środowiska.Na Macu jest to PyCharm => Preferencje ... => Narzędzia => Terminal => Aktywuj virtualenv , które powinno być domyślnie włączone.
źródło
Właśnie dodałem skrypt o nazwie pycharmactivate do mojego katalogu domowego. Ustaw wartość PyCharm (4.0.1) Plik> Ustawienia> Narzędzia> Terminal> Ścieżka powłoki do / bin / bash --rcfile ~ / pycharmactivate. Może nie jest to najlepsze rozwiązanie, jeśli masz różne katalogi / nazwy projektów i virtualenv, ale działa dla mnie. Ten skrypt zawiera następujące 3 wiersze i zakłada, że twój virtualenv ma taką samą nazwę jak twój katalog projektu.
źródło
Kontynuując odpowiedź Petera, tutaj wersja
.pycharmrc
pliku dla komputerów Mac :Kura
źródło
Mam rozwiązanie, które działało na moim komputerze z systemem Windows 7.
Uważam, że terminal PyCharm jest wynikiem jego działania
cmd.exe
, który załadujePATH
zmienną systemu Windows i użyje wersji Pythona, którą znajdzie jako pierwszą w tymPATH
. Aby edytować tę zmienną, kliknij prawym przyciskiem myszy Mój komputer -> Właściwości -> Zaawansowane ustawienia systemu -> karta Zaawansowane -> przycisk Zmienne środowiskowe ... W sekcji Zmienne systemowe wybierz i edytuj plikPATH
zmienną.Oto odpowiednia część mojego
PATH
przed edycją:... i po edycji
PATH
(teraz tylko 3 linie):Aby to przetestować, otwórz nowy terminal Windows ( Start -> wpisz
cmd
i naciśnij Enter) i sprawdź, czy korzysta z twojego wirtualnego środowiska. Jeśli to zadziała , uruchom ponownie PyCharm a następnie przetestuj go w terminalu PyCharm.źródło
oto co robię: utwórz plik activ_env.bat (windows, może .sh w linuksie) w kodzie źródłowym folde:
i inny plik dezaktywuj_env.bat:
za każdym razem, gdy otwierasz okno terminala, po prostu uruchom plik bat, aby aktywować / dezaktywować virtualenv, pozostaniesz w ścieżce kodu źródłowego, nie musisz zmieniać ścieżki do iz powrotem.
źródło
Jeśli Twój Pycharm 2016.1.4v i nowszy, powinieneś używać
"default path" /K "<path-to-your-activate.bat>"
notowań nie zapomnijźródło
Jeśli przeniosłeś projekt do innego katalogu, możesz ustawić nową ścieżkę w oknie dialogowym Ustawienia. Następnie musisz ustawić ten Interpreter projektu w oknie dialogowym Edytuj konfigurację.
źródło
Inną alternatywą jest użycie virtualenvwrapper do zarządzania środowiskami wirtualnymi. Wygląda na to, że po aktywacji skryptu virtualenvwrapper , pycharm może go użyć, a wtedy prosta
workon
komenda będzie dostępna z konsoli pycharm i przedstawi dostępne środowiska wirtualne:źródło
Ta metoda powinna działać z dowolnymi środowiskami wirtualnymi na projekt i nie przyjmuje założeń dotyczących twojego środowiska, ponieważ używa utworzonych haków.
Ty piszesz:
Biorąc pod uwagę, że aktualna najnowsza PyCharm (Społeczność 2016.1) nie zezwala na ustawienia terminala na projekt, rozpoczynając od skryptu, który wywołuje zaczep specyficzny dla projektu. To jest moje
~/.pycharmrc
:Jeśli używasz czegoś innego niż Bash, wywołaj własny
.bash_profile
odpowiednik, jeśli chcesz.Teraz ustaw PyCharm „Narzędzia -> Terminal -> Ścieżka powłoki”, aby wywołać ten skrypt, np .:
/bin/bash --rcfile ~/.pycharmrc
Wreszcie, dla każdego projektu PyCharm, które potrzebujesz aktywować określone środowisko wirtualne, utwórz plik w katalogu głównym projektu PyCharm
.pycharm/term-activate
. To jest Twój punkt zaczepienia i po prostu zdefiniuje nazwę żądanego środowiska wirtualnego dla projektu PyCharm:Możesz oczywiście rozszerzyć swoje hooki o wszystko, co uznasz za przydatne w środowisku terminala danego projektu PyCharm.
źródło
W przypadku środowisk wirtualnych Conda w systemie Windows upewnij się, że plik wsadowy NIE ma nazwy,
activate.bat
ponieważ spowoduje to konflikt zactivate
poleceniem conda , co spowoduje rekurencyjne wywołanie pliku wsadowego.U mnie działa następująca ścieżka Shell:
A w pliku activ-env.bat:
źródło
Chciałem osobne środowisko wirtualne dla każdego projektu i nie przejmowałem się zbytnio posiadaniem dodatkowych plików, które to ułatwiły. Rozwiązaniem, które wystarczy zrobić tylko raz i działa dla wszystkich projektów, jest dodanie następujących elementów do
.bashrc
lub.bash_profile
:Sprawdza, czy istnieje wirtualne środowisko, w którym terminal jest otwierany, a jeśli tak, aktywuje go (i oczywiście można użyć innych ścieżek względnych). Ustawienia terminala PyCharm można pozostawić jako domyślne.
źródło
PyCharm 4.5.4
Nie wiem dlaczego, ale to nie działa na mnie. PyCharm drukuje błąd.
cmd.exe /K "<path-to-your-activate.bat>"
Działa, ale tworzy to samo virtualenv dla każdego projektu, nawet jeśli nie jest to konieczne.Ten paragon działa! Ale ciąg
/env_yourenvlocate/scripts/activate.bat
musi zawierać cudzysłowy, w ten sposób"Full_path_to_your_env_locate\scripts\activate.bat"
!Dezaktywacja virtualenv jest bardzo łatwa - wpisz w terminalu „dezaktywuj”
źródło
Rozwiązanie dla WSL (Ubuntu w systemie Windows)
Jeśli używasz WSL (Ubuntu w systemie Windows), możesz także otworzyć bash jako terminal w pycharm i aktywować linux virtualenv.
Użyj
.pycharmrc
pliku opisanego w odpowiedzi Petera Gibsona; Dodaj.pycharmrc
plik do katalogu domowego z następującą zawartością:W Pycharm File> Settings> Tools> Terminal dodaj następującą `` ścieżkę powłoki '':
Specyficzny dla projektu virtualenv
Droga do twojego virtualenv
.pycharmrc
nie musi być absolutna. Możesz ustawić virtualenv dla konkretnego projektu, ustawiając ścieżkę względną z katalogu projektu. Mój virtualenv zawsze znajduje się w folderze „venv” w katalogu mojego projektu, więc mój.pycharmrc
plik wygląda następująco:BONUS: automatycznie otwórz tunel ssh, aby podłączyć virtualenv jako tłumacza projektu
Dodaj do swojego
.pycharmrc
pliku:Sprawdza, czy tunel ssh jest już otwarty, aw przeciwnym razie otwiera. W File -> Settings -> Project -> Project Interpreter in Pycharm, dodaj nowy zdalny interpreter o następującej konfiguracji:
Teraz, kiedy otwierasz projekt, twój bash automatycznie uruchamia się w twoim virtualenv, otwiera tunel ssh, a pycharm łączy virtualenv jako zdalny interpreter.
ostrzeżenie: ostatnia aktualizacja w systemie Windows automatycznie uruchamia usługę SshBroker i SshProxy podczas uruchamiania. Blokują one tunel ssh z systemu Linux do systemu Windows. Możesz zatrzymać te usługi w Menedżerze zadań -> Usługi, po czym wszystko znów będzie działać.
źródło
Jedna opcja, którą masz po wejściu do terminala> Uruchom> Debuguj> Edytuj konfiguracje
wybierz odpowiednie środowisko conda. Również podczas tworzenia nowego projektu - prosi o skonfigurowanie tej lokalizacji.
źródło