Ubuntu में Visual Studio Code के साथ Python के साथ Virtualenv का उपयोग करें


86

मेरे पास एक पायथन परियोजना है और परियोजना में फ़ाइलों के भीतर पूरी तरह से नेविगेशन / ऑटोकॉमल काम है। मैं एक virtualenv निर्दिष्ट करना चाहता हूं ताकि उस virtualenv के अंदर संकुल के साथ नेविगेशन / स्वतः पूर्ण कार्य हो सके।

मैंने सेटिंग में यह कोशिश की है, लेकिन नेविगेशन / स्वतः पूर्ण काम नहीं करता है। इसके अलावा "python.pythonPath":"~/dev/venvs/proj/bin/pythonमूल नेविगेशन / स्वत: पूर्ण को मार डाला।

{
    "editor.rulers": [80,100],
    "python.autoComplete.extraPaths": [
        "~/dev/venvs/proj",
        "~/dev/venvs/proj/lib"
     ]
}

यदि आप सेटिंग्स के साथ गड़बड़ नहीं करना चाहते हैं, तो इस तरह का एक शेबंग भी काम करता है: #! bin / python3
एलेक्स आर

youtu.be/6YLMWU-5H9o?t=550 यहां डैन टेलर बताता है कि वर्सेकोड में वर्चुअन को कैसे चलाया जाए
test30

कोड के नवीनतम संस्करण के लिए, मैंने अभी बाईं तरफ अजगर इंटरप्रेटर पर क्लिक किया, फिर शीर्ष मध्य में कमांड पैलेट आया, एक पायथन इंटरप्रिटर के लिए एंटर पथ चुनें, फिर फाइंड का चयन करें ... फिर ~ / वेनव पथ में खोजें / बिन / अजगर, मेरे पास python3.8 है
JCQian

जवाबों:


96

विस्तार के लिए नवीनतम अपडेट के साथ आपको बस इतना करना है "python.pythonPath"कि निम्न प्रकार निर्दिष्ट करें । "python.autoComplete.extraPaths"रनटाइम के दौरान मानों का निर्धारण किया जाएगा, लेकिन आप अभी भी वहां कस्टम पथ निर्दिष्ट करने के लिए स्वतंत्र हैं।

कृपया आवश्यक बदलाव किए जाने के बाद, वीएस कोड को फिर से शुरू करना याद रखें।

{
    "editor.rulers": [80,100],
    "python.pythonPath":"~/dev/venvs/proj/bin/python"
}

2
FWIW मैं कम से कम pylint के लिए एक पूर्ण पथ का उपयोग करना था
कैट

6
क्या आप कार्यक्षेत्र सेटिंग्स में मतलब है? क्या मेरे कार्यक्षेत्र के उपप्रकार के लिए वरीयता निर्धारित करने का कोई तरीका है?
यूलर

3
क्या आप इसे प्रति प्रोजेक्ट कर सकते हैं?
Holms

1
ऊपर वाला सही कह रहा है। : कृपया बस डबल वी.एस. संहिता की वेब साइट की जाँच code.visualstudio.com/docs/python/...
रिकार्डो Anjos

5
@holms yup, आप कार्यक्षेत्र सेटिंग्स ( .vscode/settings.json)
Atav32

91

सितंबर 2016 तक ( विस्तार के गिथुब रेपो प्रलेखन के अनुसार ) आप बस vscode के भीतर से एक कमांड निष्पादित कर सकते हैं जो आपको इंटरप्रिटर को ज्ञात दुभाषियों की स्वचालित रूप से जेनरेट की गई सूची (आपकी परियोजना के आभासी परिशोधन में एक सहित) से चुनने देगा।

इस सुविधा का उपयोग कैसे करें?

  • कमांड पैलेट (F1) Python: Select Workspace Interpreterसे कमांड (*) का चयन करें ।

  • उपरोक्त कमांड का चयन करने पर, खोज किए गए दुभाषियों की एक quick pickसूची एक सूची में प्रदर्शित की जाएगी ।

  • इस सूची में से एक दुभाषिया का चयन करने से settings.json फ़ाइल अपने आप अपडेट हो जाएगी

(*) यह आदेश अद्यतन किया गया है करने के लिए Python: Select InterpreterVSC (धन्यवाद @nngeek) की नवीनतम रिलीज में।
इसके अलावा, ध्यान दें कि आपका चयनित दुभाषिया इसे स्टेटबार के बाईं ओर दिखाया जाएगा जैसे कि पायथन 3.6 64-बिट। यह एक बटन है जिसे आप Select Interpreter सुविधा को ट्रिगर करने के लिए क्लिक कर सकते हैं।


3
दुख की बात है, यह मुझे सूची में एक नया दुभाषिया जोड़ने की अनुमति नहीं देता है ... क्या यह भी संभव है?
realfafa

@ Genunifafa कोड के बारे में मुझे बहुत कुछ पता नहीं है, लेकिन रेपो प्रलेखन में मैंने इसे जोड़ा है कि दुभाषियों को मानक रास्तों (/ usr / स्थानीय / बिन, / usr / sbin, / sbin) में खोजा जाता है, के तहत आभासी विचलन वर्तमान परियोजना और कॉनडा पर्यावरण। हो सकता है कि आप इसमें से किसी एक स्थान पर अपने दुभाषिया को जोड़ सकें, ताकि वह इसे अपने आप उठा सके। लेकिन मैं सिर्फ अनुमान लगा रहा हूं।
डैनियल एफ।

यह एक अच्छा विचार है @DanielF। मैं इसे हल करता हूं लेकिन मैन्युअल रूप से प्रोजेक्ट पर्यावरण की ओर इशारा करते हुए निर्देशिकाओं की स्थापना करता हूं। $PATHविचार काम नहीं किया (वास्तव में क्या एक है workonस्क्रिप्ट करना चाहिए)। यह कुछ हफ्ते पहले परीक्षण किया गया था, निश्चित नहीं कि इसे नए रिलीज में हल करें।
असलीफैफा

4
अपने virtualenv को खोजने के लिए, python.venvPathसेट करने की आवश्यकता है।
महमूद हनफ़ी

2
1.18.1 के कोड के साथ दिसंबर 2017 Python: Select Interpreterतक, कमांड कमांड पैलेट से है। python workspaceकमांड लिस्ट से सर्च करने के लिए थोड़ी देर स्ट्रगल किया ...
nngeek

34

नवीनतम VSCode के साथ काफी सरल, यदि आपने VSCode के लिए आधिकारिक पायथन एक्सटेंशन स्थापित किया है

Shift+ Command+P

टाइप करें: पायथन: इंटरप्रेटर चुनें

अपना वर्चुअल एनवी चुनें।

आधिकारिक साइट


13
दुर्भाग्य से, यह आदेश स्थानीय वर्चुअल एनवीएस को सूचीबद्ध करने में विफल रहता है।
एंटोनिन

@ एंटोनिन I नवीनतम संस्करण पर मेरे vscode पर परीक्षण करता है, यह काम करता है। क्या आप मैक या अन्य सिस्टम में हैं, और आपकी क्या त्रुटि है?
डिंगली

1
वास्तव में एक मैक पर, धन्यवाद @DingLi, इसने इसे स्थापित करने के बाद काम किया:"python.venvFolders": [ "${rootPath}", "envs", ".pyenv", ".direnv" ],
एंटोनिन

1
वर्चुअल एनव्स के लिए @Antonin, ssword का जवाब देखें
गत्ते का डिब्बा। जूल

2
हां, मैं वास्तव में आपकी इच्छा करता हूं, और बाकी सभी ने, "काफी सरल" कहना बंद कर दिया। वर्चुअल एनवीज़ को सूचीबद्ध नहीं किया जा रहा है, केवल दुभाषियों, 2019.6 macOS संस्करण। और यह एक प्रश्न है, जो केवल पैथॉन दुभाषियों की नहीं, वर्चुअनव है। @ सिक्सर के पास सही उत्तर है। या कम से कम मुझे आशा है कि यह virtualenv- आधारित कॉन्फ़िगरेशन के बाकी हिस्सों को लाएगा, जो कि उपयोग करने के लिए सिर्फ अजगर निष्पादन योग्य नहीं है।
JL Peyret

34

दृश्य स्टूडियो कोड के लिए नवीनतम पायथन एक्सटेंशन के साथ, एक वीवीपैथ सेटिंग है:

// Path to folder with a list of Virtual Environments (e.g. ~/.pyenv, ~/Envs, ~/.virtualenvs).
  "python.venvPath": "",

Mac OS X पर, पायथन कॉन्फ़िगरेशन केCode > Preferences > Settings लिए नीचे जाएं और स्क्रॉल करें ।

"python.venvPath: "",अपनी उपयोगकर्ता सेटिंग खोलने के लिए बाईं ओर की पेंसिल को देखें और क्लिक करें। अंत में, वह पथ जोड़ें जहां आप अपने वर्चुअल वातावरण को संग्रहीत करते हैं।

यदि आप virtuanenvwrapper का उपयोग कर रहे हैं, या आपने अपने सभी वर्चुअल env सेटिंग को एक फ़ोल्डर में रखा है, तो यह आपके लिए एक होगा।

आपके द्वारा कॉन्फ़िगर किए जाने के बाद "python.venvPath", VSC को पुनरारंभ करें। फिर कमांड पैलेट खोलें और "पायथन: सेलेक्ट इंटरप्रेटर" देखें। इस बिंदु पर, आपको अपने द्वारा जोड़े गए वर्चुअल वातावरण से जुड़े दुभाषिया को देखना चाहिए।


13

दूसरा तरीका यह है कि वर्सेन से वीएससी को F1 Python: Select Interpreterवर्चुअनव सेट के साथ खोलें और आवश्यक वर्चुएलएनवी का प्रदर्शन और चयन करें

virtualenv


8
यह मेरे लिए काम नहीं करता है। मेरे पास सेटिंग्स फ़ाइल है। क्या मुझे कुछ याद आ रहा है?
मैकके

1
मैंने इस पद्धति का सफलतापूर्वक उपयोग किया, लेकिन कोड-ए करना पड़ा।
योफलिन

1
यह मुझे सही अजगर दुभाषिया मिला है, लेकिन यह मेरे वेनव के बाकी हिस्सों को नहीं मिला। Python.venvFolders के लिए मेरे venv निर्देशिका नाम "ve" को जोड़कर इसे ठीक किया।
user1055568

1
मेरी पिछली टिप्पणी गलत थी। मुझे अन्य समस्याएं हो रही थीं, जिन्हें मैंने वेनव नहीं ढूंढने के लिए गलत समझा।
user1055568

7

टेंटेटिव जवाब। मैं आभासी वातावरण अजगर निष्पादन योग्य के पूर्ण पथ के रूप में अच्छी तरह से संकुल है डाल दिया। मैंने फिर वीएस कोड को फिर से शुरू किया।

मैं $ {वर्कस्पेसरूट} पाने की कोशिश कर रहा हूं ताकि हार्डकॉपी से बचने के लिए आप सफल हो सकें।

{
    "editor.rulers": [80,100],
    "python.pythonPath": "/home/jesvin/dev/ala/venv/bin/python",
    "python.autoComplete.extraPaths": [
        "/home/jesvin/dev/ala/venv/lib/python2.7",
        "/home/jesvin/dev/ala/venv/lib/python2.7/site-packages"
     ]
}


4

मैं कार्यक्षेत्र सेटिंग का उपयोग करने में सक्षम था जो इस पृष्ठ पर अन्य लोग पूछ रहे हैं।

प्राथमिकताएँ में, P + P, python.pythonPathखोज बार में खोजें।

आपको कुछ इस तरह देखना चाहिए:

// Path to Python, you can use a custom version of Python by modifying this setting to include the full path.
"python.pythonPath": "python"

इसके बाद विंडो के दाईं ओर मौजूद WORKSPACE SETTINGS टैब पर क्लिक करें। यह बना देगा इसलिए सेटिंग केवल उस कार्यक्षेत्र पर लागू होती है जो आप में हैं।

बाद में, "python.pythonPath" के बगल में स्थित पेंसिल आइकन पर क्लिक करें। यह कार्यस्थान सेटिंग्स पर सेटिंग की प्रतिलिपि बनाना चाहिए।

मान को कुछ इस तरह बदलें:

"python.pythonPath": "${workspaceFolder}/venv"

2

ए) विज़ुअल स्टूडियो कोड डिफ़ॉल्ट वर्चुअल एनवी पथ सेटिंग को संशोधित करें। इसे "python.venvPath" कहा जाता है। आप इसे कोड-> सेटिंग्स में जाकर करते हैं और अजगर सेटिंग्स के लिए नीचे स्क्रॉल करते हैं।

b) VS कोड को पुनरारंभ करें

c) अब अगर आप Shift + Command + P करते हैं और Python टाइप करें: इंटरप्रेटर चुनें तो आपको अपने वर्चुअल वातावरण की सूची देखनी चाहिए।


1

कोड-इनसाइडर में (2018.03 तक) लगता है, निर्देश को python.venvoldold कहा जाता है:

  "python.venvFolders": [
    "envs",
    ".pyenv",
    ".direnv"
  ],

बस आपको अपना virtualenv फ़ोल्डर नाम जोड़ना है।


1

कोड संस्करण 1.34.0 (1.34.0) का उपयोग करते हुए मैक ओएसएक्स पर मुझे वर्चुअल वातावरण को पहचानने के लिए VSCode प्राप्त करने के लिए निम्न कार्य करना था:

मेरे आभासी वातावरण का स्थान (जिसका नाम ml_venv है):

/Users/auser/.pyvenv/ml_venv

auser@HOST:~/.pyvenv$ tree -d -L 2
.
└── ml_venv
    ├── bin
    ├── include
    └── lib

मैंने Settings.json में निम्नलिखित प्रविष्टि जोड़ी: "python.venvPath": "/Users/auser/.pyvenv"

IDE को पुनरारंभ किया, और अब मैं अपने आभासी वातावरण से दुभाषिया देख सकता था: यहाँ छवि विवरण दर्ज करें


पूर्ण पथ मामलों का उपयोग करना। इसने मेरे लिए काम किया। धन्यवाद
अलेक्जेंडर सुरफेल

0

यूट्यूब से इसे पायथन वीएस ... वेनव की स्थापना से मिला

ठीक है, वीडियो ने वास्तव में मुझे इतना सब करने में मदद नहीं की, लेकिन ... (जिस व्यक्ति ने वीडियो पोस्ट किया है) के तहत पहली टिप्पणी बहुत मायने रखती है और शुद्ध सोना है।

असल में, वी.एस. में निर्मित टर्मिनल खोलें। फिर source <your path>/activate.sh, जिस तरह से आप कमांड लाइन से एक वेव चुनते हैं। मेरे पास सही स्क्रिप्ट फ़ाइल खोजने और लॉन्च करने के लिए एक पूर्वनिर्धारित बैश फ़ंक्शन है और यह ठीक काम करता है।

यह उद्धृत करते हुए कि YT सीधे टिप्पणी करता है ( aneuris ap के लिए सभी क्रेडिट ):

(आप वास्तव में केवल 5-7 कदम की जरूरत है)

1- Open your command line/terminal and type pip virtualenv.
2. Create a folder in which the virtualenv will be placed .
3. cd to the script folder in the virtualenv and run activate.bat (CMD).
4. deactivate to turn of the virtualenv (CMD).
5. open the project in VS Code  and use its built-in terminal to cd to the script folder in you virtualenv.
6. type source activates (in vs code I use the git terminal).
7. deactivate to turn off the virtualenv.

जैसा कि आप देख सकते हैं, वह बात कर रहा है activate.bat। तो, अगर यह मेरे लिए एक मैक पर काम करता है, और यह विंडोज पर भी काम करता है, तो संभावना है कि यह बहुत मजबूत और पोर्टेबल हो। 😀

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.