2012-08-15 21 views
26

के साथ मैं वर्चुअलनेव के साथ पाइथन विकास के लिए उत्कृष्ट टेक्स्ट 2 का उपयोग कर रहा हूं!वर्चुअल टेक्स्ट का उपयोग वर्चुअल टेक्स्ट 2

मानक उत्कृष्ट टेक्स्ट 2 बिल्ड सिस्टम मेरे वर्चुअलएन्व के बजाय मानक पायथन इंस्टॉल का उपयोग करता है जहां मेरे पैकेज स्थापित हैं।

मैं अपने वर्चुअलनेव का उपयोग करके निर्माण करने के लिए उत्कृष्ट टेक्स्ट 2 कैसे प्राप्त कर सकता हूं?

मैं वर्तमान में टर्मिनल का उपयोग अपने पर्यावरण को सक्रिय करने और अपनी स्क्रिप्ट चलाने के लिए करता हूं।

अद्यतन: कभी यह काम कर रहा है, लेकिन जैसा कि मैंने कुप्पी उपयोग कर रहा हूँ देखने और उस पर बनाता है जब आप एक परिवर्तन करते हैं, यह एक बड़ा मुद्दा नहीं है

+0

आप किस ओएस पर हैं? –

+0

दोनों लेकिन मैं ओएस एक्स का अधिक उपयोग करने की योजना बना रहा हूं! –

+4

हाहा ... "दोनों"। बहुत उपयोगी नहीं है। – Molomby

उत्तर

-4

नोट इस समाधान गलत होने के बारे में टिप्पणियां मिली हैं।

आप अपने sublime-project file संपादित करें और निम्न जोड़ने के लिए:

"build_systems": 
[ 
    { 
    "name": "Run Tests", 
    "cmd": ["source", "/path/to/your/virtualenv/bin/activate"], 
    "working_dir": "/path/to/to/you/django_project", 
    "cmd": ["python", "manage.py", "test"] 
    } 
] 
+0

यकीन नहीं है कि यह काम करता है, कोई आउटपुट नहीं मिल रहा है? –

+0

मुझे संदेह है कि यह काम करेगा, 2 "cmd" प्रविष्टियों वाला एक शब्दकोश। दूसरा "cmd" बस पहले ओवरराइट करेगा। –

+0

लेकिन मुझे लगता है कि यदि आप पहले "cmd" को हटाते हैं और अपने वर्चुअलनेव के पायथन बाइनरी के पथ से दूसरे "cmd" में "पायथन" को प्रतिस्थापित करते हैं, तो यह काम करेगा। आईआईआरसी, वर्चुअलनव के अजगर का सीधे आविष्कार करता है साथ ही साथ वर्चुअलएन्व को सक्रिय करता है। –

13

खिड़कियों में यह मेरे लिए काम करता है:

"build_systems": 
[ 
    { 
    "name": "Run Tests", 
    "working_dir": "/path/to/to/your/django_project", 
    "cmd": ["/path/to/your/virtualenv/bin/python.exe", "manage.py", "test"] 
    } 
] 
+0

नीचे @ नेबफा का उत्तर नोट करें जो उपयोगकर्ताओं को टूल> बिल्ड सिस्टम के तहत इसे चुनकर नई बिल्ड सिस्टम को सक्रिय करने के लिए याद दिलाता है! – thumbtackthief

0

मैं इस का उपयोग मेरी बोतल परियोजना का निर्माण।

{ 
    "folders": 
    [ 
      { 
       "path": "/C/MyDev/chilinzb/" 
      } 
    ], 
    "build_systems": 
    [ 
     { 
      "name": "Flask", 
      // activate the specific virtualenv for the project 
      "cmd": ["C:/MyDev/virtualenvs/env_chilinzb/Scripts/python", "$file"] 
     } 
    ] 
} 

> संपादित परियोजना और उसके बाद मैं बस अपना run.py फ़ाइल करने के लिए स्विच और Ctrl+B

0

मारा इस संयोजन महान काम किया - परियोजना: 2 कदम

मैं अपने परियोजना सेटिंग्स के लिए निम्न कोड को शामिल किया है 1) 'एनवी' कुंजी के लिए 2 उपयुक्त कुंजी जोड़ें। ए) DJANGO_SETTINGS_MODULE बी) PYTHONPATH

2) अद्यतन cmd आप उपयोग करना चाहते अजगर के संस्करण को प्रतिबिंबित करने के।

{ 

"env":{"DJANGO_SETTINGS_MODULE":"my_project.settings", 
    "PYTHONPATH":"d:\\Projects\\virts\\my_project\\Scripts;d:\\Projects\\virts\\my_project\\Lib;d:\\Projects\\virts\\my_project\\Lib\\site-packages;D:\\Projects\\my_project" 
    }, 
"cmd": ["c:/Python27/python.exe","$file"] 
} 
15

आप अपने virtualenv का bin निर्देशिका के लिए निर्माण प्रणाली के लिए पथ सेट कर सकते की तरह तो:

"build_systems": 
[ 
    { 
     "selector": "source.python", 
     "env": {"PYTHONPATH":"/Users/user/project"}, 
     "path":"/Users/user/work/myvirtualenv/bin:$PATH", 
     "name": "Run virtualenv python", 
     "cmd": ["python", "-u", "$file"], 
     "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 

     "variants": [ 
      { "name": "Run all Tests", 
       "working_dir": "/Users/user/project", 
       "cmd": ["nosetests"] 
      } 
     ] 
    } 
] 

यह भी उदाहरण में nose जैसे अन्य टूल की अनुमति देता है, पता लगाने के लिए Virtualenv से सही पायथन बाइनरी।

+0

बस आपको +1 दिया लेकिन यह इंगित करना चाहते हैं कि "नाम" केवल एक संस्करण के अंदर मान्य है। इसका संदर्भ लें: [sublime-text-2-docs] [st2] [st2]: http://sublime-text-unofficial-documentation.readthedocs.org/en/sublime-text-2/reference/build_systems.html –

+0

@user: मुझे इस फ़ाइल को एसटी में जोड़ने की आवश्यकता है? – user1050619

+0

@ user1050619: [st 3 docs] से (http://docs.sublimetext.info/en/latest/file_processing/build_systems.html): * बिल्ड सिस्टम को पैकेज फ़ोल्डर (जैसे पैकेज/उपयोगकर्ता) के नीचे कहीं भी स्थित होना चाहिए । कई पैकेजों में अपने स्वयं के निर्माण सिस्टम शामिल होते हैं। * पैकेज मैक मेरे मैक पर एसटी 3 के साथ '~/लाइब्रेरी/एप्लिकेशन सपोर्ट/सब्लिमे टेक्स्ट 3 /' में रहता है। – user1248490

12

सब्लिमे बिल्ड बिल्ड वेरिएबल का समर्थन करता है जिसका उपयोग सब्लिमे प्रोजेक्ट फाइलों के साथ किया जा सकता है ताकि इसे परियोजनाओं में थोड़ा अधिक पोर्टेबल बनाया जा सके।

यदि आपके वर्चुअल वातावरण मानक स्थान पर हैं, तो अपनी प्रोजेक्ट की रूट निर्देशिका में बस अपनी वर्चुअल वातावरण निर्देशिका के ऊपर एक नई प्रोजेक्ट फ़ाइल (प्रोजेक्ट -> प्रोजेक्ट एज़ सहेजें) बनाएं। एक ही रूप में यदि आप कमांड लाइन से ./venv/bin/python टाइप किया - - गड़बड़ करने की कोई जरूरत

{ 

    "cmd": ["$project_path/venv/bin/python", "-u", "$file"] 

} 

यह तो स्वचालित रूप से आराम लेने के लिए लगता है: तो फिर कुछ इस तरह के साथ एक नया निर्माण फ़ाइल बनाने पथ, पर्यावरण चर, आदि के साथ

1

तहत मैक OSX, इस के लिए मुझे

{ 
"cmd": ["/your/virtualenv/bin/python", "-u", "$file"] 
} 

काम करता था क्या मैं इसे सरल रखने था:

जड़ ड्राइव के लिए चला गया और बनाया अजगर फ़ोल्डर:

sudo mkdir python 

तो में चला गया वहां और वर्चुअलनेव

virtualenv --no-site-packages virtualenvname 
बनाया

ने उपरोक्त आदेश के साथ एसटी 2 में एक नया निर्माण बनाया और यह

+0

यह ओएसएक्स पर मेरे लिए खूबसूरती से काम करता है, धन्यवाद। – sleepycal

0

मेरे पास कोई भी व्यक्ति है जो हरोकू का उपयोग करता है और अपने फोरमैन टूल का उपयोग करता है, और यह बहुत अच्छा काम करता है। सीधे शब्दों में तो जैसे एक नए निर्माण प्रणाली बनाने:

{ 
    "cmd": ["foreman", "run", "python", "-u", "$file"], 
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
    "selector": "source.python" 
} 

यह वातावरण फोरमैन के लिए उपलब्ध चर के सभी में खींचती है, अपने virtualenv के $ पथ चर, जो आपके अजगर रास्ते पर virtualenv अजगर कहते भी शामिल है।

3

मैं फ्लास्क का उपयोग कर रहा हूं, लेकिन मुझे लगता है कि यह लगभग हर मामले पर लागू होता है।
मेरे वास्तविक निर्माण इस है, जहां "Benicio" अपने प्रोजेक्ट की सूची है की तरह है:

{ 
    "cmd": ["source ~/projs/benicio/venv/bin/activate && python ~/projs/benicio/benicio_tests.py"], 
    "shell": true 
} 
+0

मैं 'का उपयोग करता हूं। venv/bin/सक्रिय करें; python file.py' धन्यवाद! –

3

यह करने के लिए अभी तक एक और जवाब जोड़ने के लिए खेद है - लेकिन यह मुझे इस पता लगाना दु: ख की एक बड़ी राशि का कारण बना।

न केवल आप की तरह एक निर्माण प्रणाली बनाने की जरूरत है:

"build_systems": 
[ 
{ 
    "name": "Maths", 
    "env": {"PYTHONPATH":"/home/nebffa/Desktop"}, 
    "path":"$project_path/bin", 
    "cmd": ["$project_path/bin/python3.3", "-u", "$file"] 
} 
] 

लेकिन आप उदात्त पाठ में एक सेटिंग बदलने के लिए -> बिल्ड सिस्टम - - टूल्स> "गणित"। मेरे मामले में मुझे "गणित" चुनने की ज़रूरत है क्योंकि यही वह है जिसे मैंने अपना निर्माण प्रणाली नाम दिया। यदि आप ऐसा नहीं करते हैं - सब्लिमे टेक्स्ट आपके बिल्ड सिस्टम का उपयोग नहीं करता है !!

+0

इसे स्वीकृत उत्तर में शामिल करने की आवश्यकता है! – thumbtackthief

2

मुझे वर्चुअलएन्व में काम करने के लिए अभी शानदार टेक्स्ट 3 मिला है। हालांकि ओपी ने एसटी 2 निर्दिष्ट किया है, वैसे ही मेरे जैसे एसटी 3 का उपयोग कर रहे हैं। धन्यवाद user1248490 करने और रसेल बीएटी मैं निम्नलिखित पर पहुंचे:

{ 
    "shell_cmd": "$project_path/vi_sys_pkgs/bin/python3 -u \"$file\"", 
    "path": "$project_path/vi_sys_pkgs/bin", 
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
    "selector": "source.python" 
} 

ध्यान दें कि "cmd" अब "shell_cmd" ST3 में है। ST3 blog

+1

यह एकमात्र समाधान है जो मेरे लिए भी काम करता है, एसटी 3 + उबंटू 13.10 चला रहा है, वर्चुअलएन्ड्स को मेरे होमफोल्डर में टकराया गया है – puredevotion

0

स्रोत लुबंटू पर निर्माण के अंदर मेरे लिए काम नहीं करता है। '।' का उपयोग करें या 'स्रोत' के बजाय बिंदु।

ऐसा किया काम:

{

"env": { 
    "DJANGO_SETTINGS_MODULE":"django_project_name.settings", 
    "PYTHONPATH":"/home/my_username/current/django_project_name:/home/my_username/.virtualenvs/django_project_name/lib/python2.7:/home/my_username/.virtualenvs/django_project_name/lib/python2.7/site-packages/" 
}, 
"working_dir":"$project_path", 
"cmd":[". /home/my_username/.virtualenvs/django_project_name/bin/activate && python $file"], 
"shell":true 

}

0

यह मेरे लिए काम किया:

{ 
    "cmd": ["C:/Users/user/virtualenvs/env1/Scripts/python.exe", "-u", "$file"], 
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
    "selector": "source.python" 
} 

बचाया निर्माण में:

"C:\Users\user\AppData\Roaming\Sublime Text 2\Packages\User\"

रूप

"Python_env1.sublime-build"

करें

Tools> Build System> Python_env1

किया है!

विंडोज़ का उपयोग 8.1, ST2

1

यह मैं क्या एक निर्माण प्रणाली के रूप में (यह मानते हुए मेरी virtualenv एक फ़ोल्डर मेरे वर्तमान परियोजना निर्देशिका में 'env' कहा जाता है के रूप में बनाया जाता है) है। यह कम से कम मैं लगातार परियोजनाओं के बीच का निर्माण प्रणाली को बदलने की जरूरत नहीं है इसका मतलब है:

{ 
    "cmd": ["env/bin/python", "-u", "$file"] 
} 

मैं एक नई प्रणाली बिल्ड के रूप में इस बचाया (उपकरण -> नई प्रणाली बिल्ड -> बिल्ड सिस्टम)।

0

मान लें कि आप अपने प्रोजेक्ट-विशिष्ट वर्चुअलएन्व को अपने प्रोजेक्ट के शीर्ष स्तर पर .env-folder में रखते हैं। ।

  1. उदात्त> परियोजना> परियोजना के रूप में सहेजें ... (यदि आप नहीं पहले से ही है यह आप परियोजना
  2. परियोजना के लिए कस्टम विकल्प सेट का निर्माण करने की अनुमति देगा> परियोजना संपादित करें:

    { 
        "folders":[ 
         { 
          "path": ".", 
          "folder_exclude_patterns": [".env"], 
         } 
        ], 
        "build_systems":[ 
         { 
          "name": "Run in VirtualEnv", 
          "shell_cmd": "source $project_path/.env/bin/activate && python -u $file" 
         } 
        ] 
    } 
    
  3. उपकरण> बिल्ड सिस्टम>

  4. उपकरण virtualenv में चलाने के लिए> बिल्ड

कृपया ध्यान दें कि यह सब्लिमे टेक्स्ट 3 के साथ परीक्षण किया गया था।

संबंधित मुद्दे