Làm cách nào để kích hoạt virtualenv bên trong thiết bị đầu cuối của PyCharm?


110

Tôi đã thiết lập PyCharm, tạo virtualenv của mình (thông qua lệnh env ảo hoặc trực tiếp trong PyCharm) và kích hoạt môi trường đó làm Trình thông dịch của tôi. Mọi thứ đang hoạt động tốt.

Tuy nhiên, nếu tôi mở một thiết bị đầu cuối bằng "Công cụ, Mở Thiết bị đầu cuối", thì lời nhắc trình bao được cung cấp không sử dụng env ảo; Tôi vẫn phải sử dụng source ~/envs/someenv/bin/activatetrong Terminal đó để kích hoạt nó.

Một phương pháp khác là kích hoạt môi trường trong một trình bao và chạy PyCharm từ môi trường đó. Điều này "khả thi" nhưng khá xấu và có nghĩa là tôi gặp vấn đề lớn nếu tôi chuyển đổi môi trường hoặc dự án từ PyCharm: Tôi hiện đang sử dụng môi trường hoàn toàn sai.

Có cách nào khác dễ dàng hơn nhiều để "Công cụ, Mở thiết bị đầu cuối" tự động kích hoạt môi trường ảo không?

Câu trả lời:


95

Biên tập:

Theo https://www.jetbrains.com/pycharm/whatsnew/#v2016-3-venv-in-terminal , PyCharm 2016.3 (phát hành vào tháng 11 năm 2016) có hỗ trợ virutalenv cho các thiết bị đầu cuối ra khỏi hộp

Virtualenv tự động được hỗ trợ cho cmd bash, zsh, fish và Windows. Bạn có thể tùy chỉnh tùy chọn shell của mình trong Cài đặt (Preferences) | Công cụ | Thiết bị đầu cuối.


Phương pháp cũ:

Tạo một tệp .pycharmrctrong thư mục chính của bạn với các nội dung sau

source ~/.bashrc
source ~/pycharmvenv/bin/activate

Sử dụng đường dẫn virtualenv của bạn làm tham số cuối cùng.

Sau đó, đặt tùy chọn shell-> Project Settings-> Shell path thành

/bin/bash --rcfile ~/.pycharmrc

9
Cảm ơn bạn! Tôi đã không nghĩ đến việc ghi đè tệp rc của shell. Để hỗ trợ tốt hơn cho pycharm làm việc với nhiều dự án, mỗi dự án có thể có một virtualenv khác nhau, tôi sẽ gọi tệp ".pycharmrc" là một cái gì đó khác và có thể đặt nó vào chính thư mục env. ~/pycharmenv/bin/terminalactivatenghe có vẻ là một lựa chọn tốt.
Chris Cogdon

1
Pycharm 4 có virtualenv tích hợp trong IDE. Xem câu trả lời của tôi để biết thêm thông tin.
pferate

1
@PeterGibson, câu trả lời của pferate không liên quan gì đến câu hỏi của OP. Vấn đề là thiết bị đầu cuối không phải là trình thông dịch Python. Sự tích hợp venv đã có trước PyCharm 4. Tuy nhiên, câu trả lời của bạn vẫn hoạt động.
norbert

1
Đây là giải pháp đơn giản nhất, ngoại trừ việc tôi đặt của tôi .pycharmrctrong thư mục chính của dự án, để tôi có thể có một tệp khác nhau cho mỗi dự án. Trong một dự án được định cấu hình đúng, không cần phải cung cấp đường dẫn tuyệt đối đến .pycharmrctệp.
tchakravarty

1
@SiminJie, PyCharm 2016.3.2 có tùy chọn như vậy từ hộp. Đi tới: cài đặt -> Công cụ -> Thiết bị đầu cuối. Và đảm bảo rằng tùy chọn "Kích hoạt virtualenv" đã được bật.
renskiy

45

Cập nhật:

Các tùy chọn trong Cài đặt (Preferences) | Công cụ | Thiết bị đầu cuối là toàn cầu.
Nếu bạn sử dụng venv cho mỗi dự án, hãy nhớ sử dụng biến đường dẫn hiện tại và tên venv mặc định:

"cmd.exe" /k ""%CD%\venv\Scripts\activate"" 

Đối với người dùng Windows: khi sử dụng PyCharm với môi trường ảo, bạn có thể sử dụng /Ktham số đểcmd.exe để thiết lập môi trường ảo tự động.

PyCharm 3 hoặc 4: Settings, Terminal, Default shellvà add/K <path-to-your-activate.bat> .

PyCharm 5: Settings, Tools, Terminal, và add /K <path-to-your-activate.bat>đểShell path .

PyCharm 2016,1 hoặc 2016,2: Settings, Tools, Terminal, và thêm ""/K <path-to-your-activate.bat>""vào Shell pathvà thêm (tâm có dấu ngoặc kép). Cũng thêm dấu ngoặc kép xung quanh cmd.exe, dẫn đến:

"cmd.exe" /k ""C:\mypath\my-venv\Scripts\activate.bat""


Trong trường hợp %CD%này là thư mục làm việc hiện tại, hãy xem lệnh shell của Windows để lấy đường dẫn đầy đủ đến thư mục hiện tại?
bad_coder

40

Đối với người dùng Windows khi sử dụng PyCharm và môi trường ảo trong Windows, bạn có thể sử dụng tham số / k thành cmd.exe để đặt môi trường ảo tự động.

Đi tới Cài đặt, Thiết bị đầu cuối, Trình bao mặc định và thêm /K <path-to-your-activate.bat>.

Tôi không có danh tiếng để bình luận về phản hồi trước đó nên đăng phiên bản đã sửa chữa này. Điều này thực sự tiết kiệm rất nhiều thời gian.

Cập nhật:

Lưu ý: Pycharm hiện hỗ trợ trực tiếp môi trường ảo và nó có vẻ hoạt động tốt đối với tôi - vì vậy, giải pháp của tôi không cần thiết nữa.


Điều này thật tuyệt, nhưng chỉ khi bạn có một virtualenv cho tất cả các dự án của mình. Cài đặt trình bao mặc định được chia sẻ trên các dự án
MartinM

7

Dựa trên câu trả lời từ Peter và thử nghiệm, tôi đã đưa ra một "giải pháp chung" tốt, giải quyết được vấn đề sau:

  • Khôi phục hành vi của một trình bao đăng nhập. PyCharm thường chạy trình bao đăng nhập, nhưng --rcfile đã ngăn điều này xảy ra. Tập lệnh vẫn sử dụng --rcfile, nhưng cố gắng mô phỏng hành vi INVOCATION của trình bao đăng nhập.
  • Loại bỏ sự cần thiết phải tạo một rcfile cho mỗi môi trường
  • Loại bỏ nhu cầu cập nhật cài đặt dự án nếu bạn thay đổi môi trường.

Thả tập lệnh này vào thư mục bin ở đâu đó. Ví dụ: ~ / bin / pycharmactivate

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
ACTIVATERC=`cat .idea/workspace.xml | perl -n -e 'print "\$1/bin/activate" if m:option name="SDK_HOME" value="\\\$USER_HOME\\\$(.*)/bin/python":'`
if [ -n "$ACTIVATERC" ] ; then . "$HOME/$ACTIVATERC" ; else echo "Could not find virtualenv from PyCharm" ; fi

Sau đó đặt đường dẫn PyCharm's Shell thành:

/bin/bash --rcfile ~/bin/pycharmactivate

1
CẢM ƠN BẠN! Điều này đã làm việc cho tôi sau nhiều giờ cố gắng không thành công để tìm ra nơi bắt đầu cấu hình bashrc và bash. Tuy nhiên nó đã bị lỗi và nó không thể tìm thấy env ảo của tôi nên tôi đã sửa đổi nó như vậy, bạn có thể cho tôi biết nó có ổn không? 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
zerohedge,

@zerohedge: Tập lệnh của bạn sẽ hoạt động tốt, nhưng nó đã được sửa cho virtualenv "project1" của bạn. Tập lệnh ở trên được cho là thực hiện tự động phát hiện, nhưng có một loạt các giả định được đặt ra: rằng thư mục làm việc ban đầu là vị trí của thư mục ".idea"; rằng định dạng của tệp workspace.xml không thay đổi đáng kể. Thật không may, có vẻ như pycharm phiên bản 5 đã có những thay đổi đáng kể trong lĩnh vực đó. Tôi thực sự không thể tìm ra dữ liệu đang ở đâu.
Chris Cogdon

Tôi không ngại thay đổi phần bổ sung của mình tùy thuộc vào dự án, vì Shell Path to cũng là dự án cụ thể. Tôi chỉ có thể nhận được lời nhắc nói "bash 3.2 $:" trước khi tìm thấy tập lệnh của bạn, không có dấu hiệu nào về thư mục hiện tại của tôi hoặc bất kỳ điểm nào giống với lời nhắc Terminal của tôi. Cám ơn bạn một lần nữa!
zerohedge,

7

PyCharm 4 hiện đã tích hợp virtualenv trong IDE. Khi chọn trình thông dịch dự án của mình, bạn có thể tạo, thêm hoặc chọn một virtualenv. Họ đã thêm một "Bảng điều khiển Python" chạy trong trình thông dịch dự án đã định cấu hình.

Thêm thông tin ở đây.


11
Làm thế nào điều này trả lời OP? Vẫn phải nhập source /path/to/venv/bin/activatethủ công trong thiết bị đầu cuối.
frnhr

6

Cảm ơn Chris, kịch bản của bạn đã hoạt động cho một số dự án nhưng không phải tất cả trên máy của tôi. Đây là một kịch bản mà tôi đã viết và tôi hy vọng bất cứ ai thấy nó hữu ích.

#Stored in ~/.pycharmrc 

ACTIVATERC=$(python -c 'import re
import os
from glob import glob

try:
  #sets Current Working Directory to _the_projects .idea folder
  os.chdir(os.getcwd()+"/.idea") 

  #gets every file in the cwd and sets _the_projects iml file
  for file in glob("*"): 
    if re.match("(.*).iml", file):
      project_iml_file = file

  #gets _the_virtual_env for _the_project
  for line in open(project_iml_file):
    env_name = re.findall("~/(.*)\" jdkType", line.strip())
    # created or changed a virtual_env after project creation? this will be true
    if env_name:
      print env_name[0] + "/bin/activate"
      break

    inherited = re.findall("type=\"inheritedJdk\"", line.strip())
    # set a virtual_env during project creation? this will be true
    if inherited:
      break

  # find _the_virtual_env in misc.xml
  if inherited:
    for line in open("misc.xml").readlines():
      env_at_project_creation = re.findall("\~/(.*)\" project-jdk", line.strip())
      if env_at_project_creation:
        print env_at_project_creation[0] + "/bin/activate"
        break
finally:
  pass
')

if [ "$ACTIVATERC" ] ; then . "$HOME/$ACTIVATERC" ; fi

Cảm ơn, điều này đã làm việc cho tôi! Tuy nhiên, đã phải làm hai điều bổ sung. 1) Thêm source /etc/profilevào đầu ~ / .pycharmrc tập tin (trên Mac Yosemite) 2) Trong Pycharm chỉnh sửa Preferences> Tools> Terminal> đường Shell để "/ bin / bash rcfile ~ / .pycharmrc"
frnhr

Điều này thật tuyệt vời, cảm ơn bạn! Nếu bạn đang sử dụng Python 3, hãy nhớ đặt dấu ngoặc đơn cho hàm in. Bản thân tôi đã phải đặt "export ~ / .bashrc" trước script này.
Raphaël Gomès

5

Tôi đã xem tất cả các câu trả lời ở trên nhưng không có câu trả lời nào đủ thanh lịch đối với tôi. Trong Pycharm 2017.1.3 (trong máy tính của tôi), cách dễ nhất là mở Settings->Tools->Terminalvà kiểm tra Shell integrationActivate virtualenvcác tùy chọn.

hình ảnh


Chà, câu trả lời được chấp nhận cũng trích dẫn điều này. Chỉ là nó không có hình ảnh.
Vikas Prasad

5

Nếu bạn đang sử dụng phiên bản windows thì khá dễ dàng. Nếu bạn đã có môi trường ảo, chỉ cần điều hướng đến thư mục của nó, tìm thư mục activate.batbên trong Scripts. sao chép đường dẫn đầy đủ của nó và dán nó vào thiết bị đầu cuối của pycharm sau đó nhấn Entervà bạn đã hoàn tất!

Nếu bạn cần tạo môi trường ảo mới:

Đi tới tệp> cài đặt, sau đó tìm kiếm project interpreter, mở nó, nhấp vào nút bánh răng và tạo môi trường ở bất cứ đâu bạn muốn rồi làm theo đoạn đầu tiên.

Bánh răng!


Câu trả lời chính xác! Cảm ơn bạn! Câu hỏi nhanh. Tôi có 3 môi trường ảo khác nhau mà tôi đã tạo trong Anaconda. Có riêng biệt activate.batcho mỗi người trong số họ?
dùng1700890

1
@ user1700890 vâng! Trong trường hợp bạn chưa ghi đè các môi trường, chúng sẽ có các thư mục riêng biệt và do đó, activate.batcác tệp riêng biệt . nếu bạn thích câu trả lời, cảm thấy tự do để upvote;)
AmiNadimi

Cảm ơn bạn, tôi vừa kiểm tra, không có thư mục nào trong Scriptsthư mục. Cũng Pycharm phàn nàn rằng activate.batkhông một SDK python hợp lệ
user1700890

1
Vì vậy, tôi nghĩ trước tiên bạn nên thử và tìm thư mục môi trường ảo được tạo khi bạn sử dụng Anaconda, sau đó chạy activatetệp loạt bên trong nó. hoặc nếu có thể với bạn, chỉ cần tạo một môi trường mới.
AmiNadimi

3

Trên Mac, đó là PyCharm => Preferences ... => Tools => Terminal => Kích hoạt virtualenv , sẽ được bật theo mặc định.


2

Tôi vừa thêm một tập lệnh có tên pycharmactivate vào thư mục chính của mình. Đặt giá trị của tệp PyCharm (4.0.1)> Cài đặt> Công cụ> Thiết bị đầu cuối> Đường dẫn Shell đến / bin / bash --rcfile ~ / pycharmactivate. Có thể không phải là giải pháp tốt nhất trong trường hợp bạn có các thư mục / tên dự án và virtualenv khác nhau nhưng nó phù hợp với tôi. Tập lệnh này chứa 3 dòng sau và giả sử virtualenv của bạn có cùng tên với dự án dir của bạn.

source ~/.bashrc
projectdir=${PWD##*/}
source ~/.virtualenvs/$projectdir/bin/activate

2

Theo dõi câu trả lời của Peter, đây là phiên bản Mac của .pycharmrctệp:

source /etc/profile
source ~/.bash_profile
source  <venv_dir>/bin/activate

Hen


1

Tôi có một giải pháp hoạt động trên máy Windows 7 của mình.

Tôi tin rằng thiết bị đầu cuối của PyCharm là kết quả của việc nó đang chạy cmd.exe, sẽ tải PATHbiến Windows và sử dụng phiên bản Python mà nó tìm thấy đầu tiên trong đó PATH. Để chỉnh sửa biến này, hãy nhấp chuột phải vào My Computer -> Properties -> Advanced System Settings -> Advanced tab -> Environment Variables ... nút. Trong phần Biến hệ thống , hãy chọn và chỉnh sửa PATHbiến.

Đây là phần có liên quan của tôi PATH trước khi chỉnh sửa:

C: \ Python27 \;
C: \ Python27 \ Lib \ site-pack \ pip \;
C: \ Python27 \ Scripts;
C: \ Python27 \ Lib \ site-package \ django \ bin;

... và sau khi chỉnh sửa PATH(hiện chỉ còn 3 dòng):

C: [project_path] \ virtualenv-Py2.7_Dj1.7 \ Lib \ site-package \ pip;
C: [project_path] \ virtualenvs \ virtualenv-Py2.7_Dj1.7 \ Scripts;
C: [project_path] \ virtualenvs \ virtualenv-Py2.7_Dj1.7 \ Lib \ site-package \ django \ bin;

Để kiểm tra điều này, mở một mới cửa sổ terminal ( Bắt đầu -> gõ vào cmdvà hit Enter) và xem nếu nó sử dụng môi trường ảo của bạn. Nếu điều đó hoạt động, hãy khởi động lại PyCharm và sau đó kiểm tra nó trong thiết bị đầu cuối của PyCharm.


1

đây là những gì tôi đang làm: tạo tệp active_env.bat (windows, có thể là .sh trong linux) trong mã nguồn gấp:

/env_yourenvlocate/scripts/activate.bat

và một tệp khác deactivate_env.bat:

/env_yourenvlocate/scripts/deactivate.bat

Mỗi khi mở cửa sổ đầu cuối, chỉ cần thực thi tệp bat để kích hoạt / hủy kích hoạt virtualenv, bạn sẽ ở trong đường dẫn mã nguồn, không cần phải thay đổi đường dẫn tới và lui.

E:\Projects\django_study\src>active_env.bat

E:\Projects\django_study\src>../env_django_study/scripts/activate.bat
(env_django_study) E:\Projects\django_study\src>



(env_django_study) E:\Projects\django_study\src>deactive_env.bat

(env_django_study)E:\Projects\django_study\src>../env_django_study/scripts/deactivate.bat
E:\Projects\django_study\src>

1

Nếu Pycharm 2016.1.4v và cao hơn, bạn nên sử dụng, "default path" /K "<path-to-your-activate.bat>" đừng quên dấu ngoặc kép


1

Nếu bạn đã chuyển dự án của mình sang một thư mục khác, bạn có thể đặt đường dẫn mới qua hộp thoại Cài đặt. Và sau đó bạn cần đặt Trình thông dịch dự án này trong hộp thoại Chỉnh sửa cấu hình.

nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây


0

Một giải pháp thay thế khác là sử dụng virtualenvwrapper để quản lý môi trường ảo của bạn. Có vẻ như sau khi tập lệnh virtualenvwrapper được kích hoạt , pycharm có thể sử dụng lệnh đó và sau đó workonlệnh đơn giản sẽ có sẵn từ bảng điều khiển pycharm và cung cấp cho bạn các môi trường ảo có sẵn:

kevin@debian:~/Development/django-tutorial$ workon
django-tutorial
FlaskHF
SQLAlchemy
themarkdownapp
kevin@debian:~/Development/django-tutorial$ workon django-tutorial
(django-tutorial)kevin@debian:~/Development/django-tutorial$ 

1
Tuy nhiên, điều đó đòi hỏi tôi phải kích hoạt tập lệnh workon mỗi khi tôi mở thiết bị đầu cuối biết pycharm môi trường ảo nào hiện đang sử dụng để chạy chương trình, cả hai điều này tôi đều cố gắng tránh rõ ràng.
Chris Cogdon

@ChrisCogdon à, tôi hiểu rồi
ksaylor11

0

Phương pháp này sẽ hoạt động với các môi trường ảo tùy ý cho mỗi dự án và nó không tạo ra các giả định về môi trường của bạn vì nó đang sử dụng các hook do bạn tạo.

Bạn viết:

  • Một tập lệnh toàn cục gọi hook
  • Một tập lệnh hook cho mỗi dự án PyCharm (không bắt buộc)

Cho rằng PyCharm mới nhất hiện tại (Community 2016.1) không cho phép cài đặt Terminal cho mỗi dự án bắt đầu bằng tập lệnh gọi hook cụ thể của dự án. Đây là của tôi ~/.pycharmrc:

if [ -r ".pycharm/term-activate" ]; then
   echo "Terminal activation hook detected."
   echo "Loading Bash profile..."
   source ~/.bash_profile
   echo "Activating terminal hook..."
   source ".pycharm/term-activate"
   source activate $PYCHARM_VENV
fi

Nếu bạn đang sử dụng thứ gì đó không phải Bash, hãy sử dụng .bash_profile tương đương bạn nếu bạn muốn.

Bây giờ đặt PyCharm của bạn "Công cụ -> Thiết bị đầu cuối -> Đường dẫn vỏ" để gọi tập lệnh này, ví dụ: /bin/bash --rcfile ~/.pycharmrc

Cuối cùng, đối với mỗi dự án PyCharm, bạn cần một môi trường ảo cụ thể được kích hoạt, hãy tạo một tệp trong thư mục gốc của dự án PyCharm .pycharm/term-activate. Đây là hook của bạn và nó sẽ đơn giản xác định tên của môi trường ảo mong muốn cho dự án PyCharm của bạn:

export PYCHARM_VENV=<your-virtual-env-name>

Tất nhiên, bạn có thể mở rộng các móc của mình với bất kỳ thứ gì bạn thấy hữu ích trong môi trường đầu cuối của dự án PyCharm cụ thể của bạn.


0

Đối với môi trường ảo conda trên Windows, hãy đảm bảo rằng tệp lô của bạn KHÔNG được đặt tên activate.batvì điều này sẽ gây ra xung đột với activatelệnh conda , dẫn đến việc gọi đệ quy tệp lô.

Những gì phù hợp với tôi là đường dẫn Shell sau:

"cmd.exe" /k ""C:\FullPathToYourProject\activate-env.bat""

Và trong tệp active-env.bat:

call activate myenvname

0

Tôi muốn có một môi trường ảo riêng biệt cho từng dự án và không quan tâm nhiều đến việc có các tệp bổ sung để hỗ trợ việc này. Một giải pháp mà bạn chỉ cần thực hiện một lần và hoạt động cho tất cả các dự án sau đó thêm phần sau vào của bạn .bashrchoặc .bash_profile:

if [ -d "./venv" ]; then
    source ./venv/bin/activate
fi

Điều này kiểm tra xem có môi trường ảo nơi thiết bị đầu cuối đang được mở hay không và nếu có thì kích hoạt nó (và tất nhiên có thể sử dụng các đường dẫn tương đối khác). Cài đặt đầu cuối của PyCharm có thể được để làm mặc định.


0

PyCharm 4.5.4

Tạo tệp .pycharmrc trong thư mục chính của bạn với nội dung sau

source ~/.bashrc
source ~/pycharmvenv/bin/activate

Sử dụng đường dẫn virtualenv của bạn làm tham số cuối cùng.

Sau đó, đặt tùy chọn shell-> Project Settings-> Shell path thành

/bin/bash --rcfile ~/.pycharmrc

Tôi không hiểu tại sao, nhưng nó không hiệu quả với tôi. PyCharm in ra một lỗi.

cmd.exe /K "<path-to-your-activate.bat>" Nó hoạt động, nhưng nó tạo ra cùng một virtualenv cho mỗi dự án và ngay cả khi điều này là không cần thiết.

Đây nhận đang làm việc! Nhưng chuỗi /env_yourenvlocate/scripts/activate.batphải chứa dấu ngoặc kép, như thế này"Full_path_to_your_env_locate\scripts\activate.bat" !

Việc hủy kích hoạt virtualenv rất dễ dàng - hãy nhập vào thiết bị đầu cuối 'hủy kích hoạt'

(virt_env) D:\Projects\src>deactivate
D:\Projects\src>

"Tôi không hiểu tại sao, nhưng nó không hoạt động với tôi" - có thể vì giải pháp này tốt cho linux / mac - không phải cho windows? ;)
Nir Alfasi

0

Giải pháp cho WSL (Ubuntu trên Windows)

Nếu đang sử dụng WSL (Ubuntu trên Windows), bạn cũng có thể mở bash dưới dạng thiết bị đầu cuối trong pycharm và kích hoạt virtualenv linux.

Sử dụng một .pycharmrctệp như được mô tả trong câu trả lời của Peter Gibson; Thêm .pycharmrctệp vào thư mục chính của bạn với nội dung sau:

source ~/.bashrc
source ~/path_to_virtualenv/bin/activate

Trong Tệp Pycharm > Cài đặt> Công cụ> Thiết bị đầu cuối, thêm 'Đường dẫn vỏ' sau:

"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"


Dự án virtualenv cụ thể

Đường dẫn đến virtualenv của bạn trong .pycharmrckhông nhất thiết phải tuyệt đối. Bạn có thể đặt virtualenv cho một dự án cụ thể bằng cách đặt một đường dẫn tương đối từ thư mục dự án của bạn. Virtualenv của tôi luôn nằm trong thư mục 'venv' trong thư mục dự án của tôi, vì vậy .pycharmrctệp của tôi trông giống như sau:

nguồn ~ / .bashrc
 nguồn ~ / pycharmvenv / bin / kích hoạt đường dẫn #absolute
source ./venv/bin/activate #relative path


THƯỞNG: tự động mở đường hầm ssh để kết nối virtualenv làm trình thông dịch dự án

Thêm phần sau vào .pycharmrctệp của bạn :

if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
    sudo service ssh start 
fi

Thao tác này kiểm tra xem một đường hầm ssh đã được mở chưa và mở một đường hầm khác. Trong Tệp -> Cài đặt -> Dự án -> Trình thông dịch dự án trong Pycharm, thêm trình thông dịch từ xa mới với cấu hình sau:

+ -------------------------- + ---------------------- ----------- + ------- + ---- +
| Tên: | <Tên thông dịch viên> | | |
| Chọn | 'Thông tin đăng nhập SSH' | | |
| Chủ nhà: | 127.0.0.1 | Cổng: | 22 |
| Người dùng: | <Tên người dùng Linux> | | |
| Loại xác thực: | 'Mật khẩu' | | |
| Mật khẩu: | <Mật khẩu Linux> | | |
| Đường dẫn của trình thông dịch Python: | <Đường dẫn Linux đến virtualenv của bạn> | | |
| Đường dẫn trình trợ giúp Python: | <Đặt tự động> | | |
+ -------------------------- + ---------------------- ----------- + ------- + ---- +

Bây giờ khi bạn mở dự án của mình, bash của bạn sẽ tự động bắt đầu trong virtualenv của bạn, mở một đường hầm ssh và pycharm kết nối virtualenv làm trình thông dịch từ xa.

cảnh báo: bản cập nhật cuối cùng trong Windows tự động khởi động dịch vụ SshBroker và SshProxy khi khởi động. Chúng chặn đường hầm ssh từ linux đến windows. Bạn có thể dừng các dịch vụ này trong Trình quản lý tác vụ -> Dịch vụ, sau đó mọi thứ sẽ hoạt động trở lại.


0

Một tùy chọn bạn có khi nhập thiết bị đầu cuối> Chạy> Gỡ lỗi> Chỉnh sửa cấu hình nhập mô tả hình ảnh ở đây

nhập mô tả hình ảnh ở đây

chọn môi trường chung cư thích hợp .. Ngoài ra khi bạn tạo một dự án mới - nó sẽ yêu cầu cấu hình vị trí này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.