WSL के लिए समाधान (विंडोज पर उबंटू)
यदि आप WSL (उबंटू ऑन विंडोज) का उपयोग कर रहे हैं, तो आप pycharm में टर्मिनल के रूप में बैश भी खोल सकते हैं और एक linux virtualenv को सक्रिय कर सकते हैं।
.pycharmrc
पीटर गिब्सन के उत्तर में वर्णित फ़ाइल का उपयोग करें ; .pycharmrc
निम्नलिखित सामग्री के साथ अपने घर निर्देशिका में फ़ाइल जोड़ें :
source ~/.bashrc
source ~/path_to_virtualenv/bin/activate
Pycharm फ़ाइल में सेटिंग्स> उपकरण> टर्मिनल निम्नलिखित 'शेल पथ' जोड़ें:
"C:/Windows/system32/bash.exe" -c "bash --rcfile ~/.pycharmrc"
प्रोजेक्ट विशिष्ट virtualenv
आपके virtualenv को पथ .pycharmrc
निरपेक्ष होने की आवश्यकता नहीं है। आप अपने प्रोजेक्ट डायरेक्टरी से रिलेटिव पाथ सेट करके एक प्रोजेक्ट स्पेसिफिक वर्चुअन सेट कर सकते हैं। मेरा वर्चुअलाइव हमेशा मेरे प्रोजेक्ट डायरेक्टरी के अंतर्गत 'वेनव' फोल्डर में स्थित होता है, इसलिए मेरी .pycharmrc
फाइल इस तरह दिखती है:
source ~ / .bashrc
source ~ / pycharmvenv / bin / activate #absolute path
source ./venv/bin/activate # संबंधित मार्ग
बोनस: वर्चुअलाइजनेव को प्रोजेक्ट दुभाषिया के रूप में जोड़ने के लिए स्वचालित रूप से ssh सुरंग खोले
अपनी .pycharmrc
फ़ाइल में निम्न जोड़ें :
if [ $(ps -aux | grep -c 'ssh') -lt 2 ]; then
sudo service ssh start
fi
यह जांचता है कि क्या एक ssh सुरंग पहले से ही खुली हुई है, और अन्यथा एक को खोलता है। में फ़ाइल -> सेटिंग्स -> परियोजना -> परियोजना दुभाषिया Pycharm में, निम्न कॉन्फ़िगरेशन के साथ एक नया रिमोट दुभाषिया जोड़ें:
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
| नाम: | <व्याख्याकार नाम> | | |
| का चयन करें | 'एसएसएच क्रेडेंशियल्स' | | |
| होस्ट: | 127.0.0.1 | पोर्ट: | 22 |
| उपयोगकर्ता: | <लिनक्स उपयोगकर्ता नाम> | | |
| प्रामाणिक प्रकार: | 'पासवर्ड' | | |
| पासवर्ड: | <लिनक्स पासवर्ड> | | |
| अजगर दुभाषिया पथ: | <अपने virtualenv के लिए लिनक्स पथ> | | |
| पायथन हेल्पर्स पथ: | <स्वचालित रूप से सेट करें> | | |
+ -------------------------- + ---------------------- ----------- + ------- + ---- +
अब जब आप अपना प्रोजेक्ट खोलते हैं, तो आपका बैश स्वचालित रूप से आपके virtualenv में शुरू होता है, एक ssh सुरंग खोलता है, और pycharm virtualenv को दूरस्थ दुभाषिया के रूप में जोड़ता है।
चेतावनी: विंडोज में अंतिम अपडेट स्वचालित रूप से स्टार्टअप पर एक SshBroker और SshProxy सेवा शुरू करता है। ये ssh टनल को linux से windows में ब्लॉक करते हैं। आप टास्क मैनेजर -> सेवाओं में इन सेवाओं को रोक सकते हैं, जिसके बाद सब कुछ फिर से काम करेगा।
~/pycharmenv/bin/terminalactivate
एक अच्छे विकल्प की तरह लगता है।