โซลูชันสำหรับ WSL (Ubuntu บน Windows)
หากคุณใช้ WSL (Ubuntu บน Windows) คุณสามารถเปิด bash เป็นเทอร์มินัลใน pycharm และเปิดใช้งาน linux Virtualenv
ใช้.pycharmrc
ไฟล์ตามที่อธิบายไว้ในคำตอบของ Peter Gibson เพิ่ม.pycharmrc
ไฟล์ในโฮมไดเร็กทอรีของคุณด้วยเนื้อหาต่อไปนี้:
source ~/.bashrc
source ~/path_to_virtualenv/bin/activate
ในไฟล์ Pycharm > การตั้งค่า> เครื่องมือ> Terminalเพิ่ม 'เส้นทางเชลล์' ต่อไปนี้:
"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"
Virtualenv เฉพาะโครงการ
เส้นทางไปยัง Virtualenv ของคุณ.pycharmrc
ไม่จำเป็นต้องเด็ดขาด คุณสามารถตั้งค่า Virtualenv เฉพาะโปรเจ็กต์โดยตั้งค่าพา ธ สัมพัทธ์จากไดเร็กทอรีโปรเจ็กต์ของคุณ Virtualenv ของฉันมักจะอยู่ในโฟลเดอร์ 'venv' ภายใต้ไดเรกทอรีโครงการของฉันดังนั้น.pycharmrc
ไฟล์ของฉันจึงมีลักษณะดังนี้:
แหล่ง ~ / .bashrc
แหล่ง ~ / pycharmvenv / bin / เปิดใช้งานเส้นทาง #absolute
แหล่งที่มา. /venv/bin/activate #relative path
โบนัส: เปิด ssh tunnel โดยอัตโนมัติเพื่อเชื่อมต่อ Virtualenv เป็นตัวแปลโครงการ
เพิ่มสิ่งต่อไปนี้ใน.pycharmrc
ไฟล์ของคุณ:
if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
sudo service ssh start
fi
สิ่งนี้จะตรวจสอบว่าอุโมงค์ ssh เปิดอยู่แล้วหรือไม่และเปิดขึ้นอย่างอื่น ในไฟล์ -> การตั้งค่า -> โครงการ -> ตัวแปลโครงการใน Pycharm ให้เพิ่มตัวแปลระยะไกลใหม่พร้อมการกำหนดค่าต่อไปนี้:
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
| ชื่อ: | <ชื่อล่าม> | | |
| เลือก | 'ข้อมูลรับรอง SSH' | | |
| โฮสต์: | 127.0.0.1 | พอร์ต: | 22 |
| ผู้ใช้: | <ชื่อผู้ใช้ Linux> | | |
| ประเภทการรับรองความถูกต้อง: | 'รหัสผ่าน' | | |
| รหัสผ่าน: | <รหัสผ่าน Linux> | | |
| เส้นทางล่าม Python: | <เส้นทาง Linux ไปยัง Virtualenv ของคุณ> | | |
| เส้นทางตัวช่วย Python: | <ตั้งค่าอัตโนมัติ> | | |
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
ตอนนี้เมื่อคุณเปิดโปรเจ็กต์ bash ของคุณจะเริ่มต้นโดยอัตโนมัติใน Virtualenv ของคุณเปิด ssh tunnel และ pycharm จะเชื่อมต่อ Virtualenv เป็นตัวแปลระยะไกล
คำเตือน: การอัปเดตล่าสุดใน Windows จะเริ่มบริการ SshBroker และ SshProxy โดยอัตโนมัติเมื่อเริ่มต้น สิ่งเหล่านี้บล็อก ssh tunnel จาก linux ไปยัง windows คุณสามารถหยุดบริการเหล่านี้ได้ในตัวจัดการงาน -> บริการหลังจากนั้นทุกอย่างจะทำงานอีกครั้ง
~/pycharmenv/bin/terminalactivate
ดูเหมือนเป็นตัวเลือกที่ดี