2013-04-29 10 views
7

मैं वर्चुअलवेव 1.9.1 का उपयोग सिग्विन पर जीत 7 के तहत कर रहा हूं। प्रत्येक वर्चुअलनव किसी भी विकल्प के बिना बनाया गया है (निर्देशिका नाम के अलावा, स्पष्ट रूप से)। कोई फैंसी अनुकूलन नहीं है।वर्चुअलएन्व PYTHONPATH/pip स्थापित पैकेज नहीं बनाते

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

प्रत्येक नए वर्चुअलनेव के लिए वर्चुअलएन्व सक्रिय स्क्रिप्ट एक पायथनपैथ नहीं बनाती है। पीपी $VIRTUAL_ENV/lib/python2.7/site-packages/<packagedir> (उदा। lib/python2.7/site-packages/html5lib) के तहत पैकेज स्थापित करता है।

पीपी का व्यवहार वांछनीय लगता है। हालांकि, पाइथन चलाना (वर्चुअलएएन को सक्रिय करने के बाद) परिणामस्वरूप कोई पाइप-स्थापित पैकेज लोड करने योग्य नहीं होते हैं (यानी "कोई मॉड्यूल नाम नहीं है ...")।

अद्यतन: activate पर एक पाइथनपैथ जोड़ना वास्तव में समस्या को हल करता है। जाहिर है, मैं इसे मैन्युअल रूप से बनाए रखना नहीं चाहता, न ही activate_this.py अपडेट करना होगा। मैं अभी भी जानना चाहूंगा कि वर्चुअलएन्व अब बॉक्स से सीधे क्यों काम नहीं करते हैं।

समाधान क्या है? virtualenv कभी ऐसा करने के लिए प्रयोग नहीं किया जाता है। अब इसमें क्या गड़बड़ है?

अद्यतन 2:

$ virtualenv -vv newvirtualenv 
Creating newvirtualenv/lib/python2.7 
Symlinking Python bootstrap modules 
    Symlinking newvirtualenv/lib/python2.7/config 
    Symlinking newvirtualenv/lib/python2.7/lib-dynload 
    Symlinking newvirtualenv/lib/python2.7/os.py 
    Ignoring built-in bootstrap module: posix 
    Symlinking newvirtualenv/lib/python2.7/posixpath.py 
    Cannot import bootstrap module: nt 
    Symlinking newvirtualenv/lib/python2.7/ntpath.py 
    Symlinking newvirtualenv/lib/python2.7/genericpath.py 
    Symlinking newvirtualenv/lib/python2.7/fnmatch.py 
    Symlinking newvirtualenv/lib/python2.7/locale.py 
    Symlinking newvirtualenv/lib/python2.7/encodings 
    Symlinking newvirtualenv/lib/python2.7/codecs.py 
    Symlinking newvirtualenv/lib/python2.7/stat.py 
    Symlinking newvirtualenv/lib/python2.7/UserDict.py 
    File newvirtualenv/lib/python2.7/lib-dynload/readline.dll already exists 
    Symlinking newvirtualenv/lib/python2.7/copy_reg.py 
    Symlinking newvirtualenv/lib/python2.7/types.py 
    Symlinking newvirtualenv/lib/python2.7/re.py 
    Symlinking newvirtualenv/lib/python2.7/sre.py 
    Symlinking newvirtualenv/lib/python2.7/sre_parse.py 
    Symlinking newvirtualenv/lib/python2.7/sre_constants.py 
    Symlinking newvirtualenv/lib/python2.7/sre_compile.py 
    File newvirtualenv/lib/python2.7/lib-dynload/zlib.dll already exists 
    Symlinking newvirtualenv/lib/python2.7/warnings.py 
    Symlinking newvirtualenv/lib/python2.7/linecache.py 
    Symlinking newvirtualenv/lib/python2.7/_abcoll.py 
    Symlinking newvirtualenv/lib/python2.7/abc.py 
    Symlinking newvirtualenv/lib/python2.7/_weakrefset.py 
Creating newvirtualenv/lib/python2.7/site-packages 
Writing newvirtualenv/lib/python2.7/site.py 
Writing newvirtualenv/lib/python2.7/orig-prefix.txt 
Writing newvirtualenv/lib/python2.7/no-global-site-packages.txt 
Creating parent directories for newvirtualenv/include 
Symlinking newvirtualenv/include/python2.7 
Creating newvirtualenv/bin 
New python executable in newvirtualenv/bin/python2.7 
Changed mode of newvirtualenv/bin/python2.7 to 0755 
Also creating executable in newvirtualenv/bin/python 
Changed mode of newvirtualenv/bin/python to 0755 
Testing executable with newvirtualenv/bin/python2.7 -c "import sys;out=sys.stdout;getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))" 
Got sys.prefix result: u'/cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv' 
Creating newvirtualenv/lib/python2.7/distutils 
Writing newvirtualenv/lib/python2.7/distutils/__init__.py 
Writing newvirtualenv/lib/python2.7/distutils/distutils.cfg 
Using existing setuptools egg: /usr/lib/python2.7/site-packages/virtualenv_support/setuptools-0.6c11-py2.7.egg 
Installing setuptools... 
    Running command /cygdrive/c/Users/ma...ualenv/bin/python2.7 -c "#!python 
\"\"\"Bootstra...sys.argv[1:]) 






" -v /usr/lib/python2.7/s...ols-0.6c11-py2.7.egg 
    Processing setuptools-0.6c11-py2.7.egg 
    Copying setuptools-0.6c11-py2.7.egg to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages 
    Adding setuptools 0.6c11 to easy-install.pth file 
    Saving /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/easy-install.pth 
    Installing easy_install script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin 
    changing mode of /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin/easy_install to 755 
    Installing easy_install-2.7 script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin 
    changing mode of /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin/easy_install-2.7 to 755 

    Installed /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg 
    Processing dependencies for setuptools==0.6c11 
    Finished processing dependencies for setuptools==0.6c11 
...Installing setuptools...done. 
Installing existing pip-1.3.1.tar.gz distribution: /usr/lib/python2.7/site-packages/virtualenv_support/pip-1.3.1.tar.gz 
Installing pip... 
    Running command /cygdrive/c/Users/ma...ualenv/bin/python2.7 -x /cygdrive/c/Users/ma...env/bin/easy_install /usr/lib/python2.7/s...ort/pip-1.3.1.tar.gz 
    Processing pip-1.3.1.tar.gz 
    Running pip-1.3.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZP_VIv/pip-1.3.1/egg-dist-tmp-H3XBh_ 
    warning: no files found matching '*.html' under directory 'docs' 
    warning: no previously-included files matching '*.txt' found under directory 'docs/_build' 
    no previously-included directories found matching 'docs/_build/_sources' 
    Adding pip 1.3.1 to easy-install.pth file 
    Installing pip script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin 
    Installing pip-2.7 script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin 

    Installed /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg 
    Processing dependencies for pip==1.3.1 
    Finished processing dependencies for pip==1.3.1 
...Installing pip...done. 
Writing newvirtualenv/bin/activate 
Writing newvirtualenv/bin/activate.fish 
Writing newvirtualenv/bin/activate_this.py 
Writing newvirtualenv/bin/activate.csh 
+0

बदसूरत समाधान: शायद 'सक्रिय' स्क्रिप्ट हैक करें और मैन्युअल रूप से पथ जोड़ें? –

+0

@JakubM। यह मेरे लिए हुआ, लेकिन ऐसा लगता है कि मैं कुछ और स्पष्ट नहीं कर रहा हूं, या वर्चुअलनेव के वर्तमान संस्करण में एक बग। – Marcin

+0

'पायथनपथ' एक लाल हेरिंग है। यह ** सक्रिय नहीं है ** 'सक्रिय 'द्वारा सेट किया गया है। यह कभी नहीं है। 'Bin/python.exe' में निष्पादन योग्य पायथन इसके बजाय 'पायथनहोम' (आंतरिक रूप से) सेट करने के लिए ज़िम्मेदार है। क्या आप 'virtualenv -vv' (तो दो' -v' विकल्प) चला सकते हैं और समस्या को डीबग करने में हमारी सहायता के लिए हमें अपने प्रश्न में यह डीबग आउटपुट दिखा सकते हैं? –

उत्तर

1

मैं Win7 पर हूं, सिगविन के पायथन चला रहा हूं। मैंने this के साथ easy_install स्थापित किया है। फिर पाइप, फिर virtualenv। फिर virtualenv newve चला गया, फिर source newve/bin/activate, फिर पीआईपी ने एक पैकेज (आईपीथन) स्थापित किया। सब कुछ ठीक काम करता है। मैं अजगर आरईपीएल से आयात कर सकता हूं, और प्रोग्राम काम करता है, और पथ सही ढंग से सेट हैं। और पायथनपथ कभी भी कहीं भी सेट नहीं होता है। मुझे हानि हो रही है।

सबकुछ पुनः स्थापित करने का प्रयास करें?

संपादित करें:

बाहर मिले easy_install cygwin पैकेज python-setuptools में उपलब्ध है।

+0

मैंने वास्तव में पाइथन-सेटअपtools की बजाय pypi से सीधे डाउनलोड किए गए संस्करण का उपयोग किया जब मैंने पुनर्स्थापित किया। मुझे नहीं पता कि वह अपराधी है या नहीं। – Marcin

0

केवल एक चीज मैं के बारे में सोच सकते हैं कि PYTHONPATH पहले से ही सेट कर दिया जाता है: यहाँ -vv साथ virtualenv चलाने का उत्पादन होता है। चूंकि सिगविन को विंडोज के सभी पर्यावरण चरों को विरासत में मिला है, यदि PYTHONPATH पहले से सेट हो चुका है, तो वर्चुअलएन्व उचित निर्देशिका के बजाय इसका उपयोग करेगा। यह देखने के लिए जांचें कि Windows PYTHONPATH के तहत पहले से सेट है या नहीं। यदि ऐसा है, तो इसे हटाएं और फिर वर्चुअलएन्व को आज़माएं। यह देखने के लिए कि क्या PythonPATH सेट है या नहीं, अपनी .bashrc फ़ाइल को भी जांचें। ऐसा क्यों है कि आप विंडोज के लिए सामान्य पायथन का उपयोग नहीं कर सकते? क्या आप एक पॉज़िक्स लिपि लिख रहे हैं?

+0

स्पष्ट होने के लिए: PythonPATH अनुपस्थित है। यह पर्यावरण में स्थापित नहीं है। मैं साइगविन का उपयोग कर रहा हूं क्योंकि मैं सिग्विन को विकास पर्यावरण के रूप में उपयोग करना पसंद करता हूं। – Marcin

+0

@ मार्सिन: हम्म ... विषम। क्या आप यह देखने का प्रयास कर सकते हैं कि यह विंडोज़ में बिल्कुल काम करेगा या नहीं? यदि ऐसा है, तो हम जानते हैं कि यह सिग्विन या सिगविन के पायथन में एक समस्या है। यदि नहीं, तो मैं पूरी तरह से अनजान हूँ। यदि आप सभी विफल हो जाते हैं तो आप हमेशा 'sys.path.append' का उपयोग कर सकते हैं। – refi64

+0

मैं विंडोज का उपयोग कर रहा हूँ। सिग्विन खिड़कियां है। – Marcin

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