2011-02-15 14 views
21

के साथ वर्चुअलएन्व स्थापित करते समय त्रुटि दर्ज करें मेरे सर्वर में Python2.5 है, मैं नवीनतम पायथन (2.7.x मेरे मामले में) पर कूदना चाहता हूं। मैंने स्रोत से पायथन संकलित किया, मैंने नवीनतम वर्चुअलनव (1.5.1) डाउनलोड किया।विभिन्न पायथन

./packages/virtualenv/virtualenv.py --python=packages/Python-2.7/python env/ 

टंकण:

./packages/virtualenv/virtualenv.py 

प्रदान करता है:

अब मूल रूप से क्या im करने का प्रयास कर

1.5.1 

लिखते समय:

packages/Python-2.7/python 

प्रदान करता है:

Python 2.7 (r27:82500, Nov 21 2010, 23:19:15) 
[GCC 4.3.2] on linux2 
(cut help mesage) 
>>> 

हालांकि में virutalenv परिणाम runing:

AssertionError: फ़ाइल का नाम /packages/Python-2.7/Lib/os.py इन उपसर्गों से किसी के साथ शुरू नहीं करता है: [ '/ usr/स्थानीय ']

जो भी इसका मतलब है और जो भी मैं हूं या मैं गलत नहीं कर रहा हूं।

पीएस एनवी + पायथन बनाने के दौरान मैं प्रश्न पर आधारित हूं: How do I work around this problem creating a virtualenv environment with a custom-build Python?

उत्तर

45

this के साथ पढ़ने और गड़बड़ करने के बाद।

मुझे पता चला कि यह त्रुटि --prefix की कमी से संबंधित हो सकती है जबकि पाइथन के लिए ./configure चला रहा है। इसलिए मैं ./configure --prefix=/Path/To/Where/I/Want/Python/After/Compilation/ दौड़े हैं (मेरे मामले $HOME/packages/Python-2.7 में), तो मैं make टाइप किया है, तो make install (sudo का उपयोग किए बिना - तो अजगर को सुरक्षित रूप से जहां मैं इसे नहीं बताया जड़ वर्तमान उपयोगकर्ता के रूप में होना करने के लिए में डाल दिया गया था)। उसके बाद वर्चुअलएनवी दीक्षा AssertionError के साथ क्रैश नहीं हुई और सबकुछ एक आकर्षण की तरह काम करता था।

आशा है कि लेखक द्वारा उत्तर दिया गया यह प्रश्न अंततः किसी की सहायता करेगा। :)

+2

"आशा है कि लेखक द्वारा उत्तर दिया गया यह प्रश्न आखिरकार किसी की मदद करेगा।" यह निश्चित रूप से किया था। धन्यवाद। –

+0

मुझे विंडोज 7 पर यह समस्या है, जहां कोई ./configure उपयोग नहीं किया गया है। – Sabuncu

+0

विंडोज़ पर, मैंने समस्या को ठीक किया/एक ताजा इंस्टॉल - देखें: http://stackoverflow.com/questions/8688709/virtualenv-on-windows-7-returns-assertionerror/10078890#10078890 – Sabuncu

16

मेरे पास यह टिप्पणी के रूप में जोड़ने के लिए पर्याप्त प्रतिनिधि नहीं है और यह प्रश्न 3 साल पुराना है, लेकिन यह किसी के लिए उपयोगी हो सकता है। विंडोज़ में, आपको python.exe पर पथ करना होगा, लेकिन ऐसा लगता है कि लिनक्स/ओएस एक्स में आप फ़ोल्डर के लिए बस पथ हैं। उदाहरण:

विंडोज:

virtualenv -p <PATH TO PYTHON.EXE> venv 

मौजूदा निर्देशिका में सबफ़ोल्डर "venv" में एक आभासी वातावरण बनाता है।

+1

मैंने आपको वोट दिया, क्योंकि यह किसी के लिए उपयोगी हो सकता है। – Drachenfels

1

मेरे पास टिप्पणी जोड़ने के लिए पर्याप्त प्रतिनिधि नहीं है। Mike's उत्तर मेरा दिन बचाओ। मैं खिड़कियों का उपयोग कर रहा हूँ।

मैं त्रुटि हो रही थी:

AssertionError: Filename C:\Python35\Lib\os.py does not start with any of these prefixes: ['c:\\python35', 'c:\\python35'] 

मैं चलाने के लिए इस-

virtualenv -p C:\Python35\python.exe venv 

भी एक cmd प्रशासक के रूप में खोला से चलाने की आवश्यकता नहीं थी। अन्यथा त्रुटि पर्याप्त प्रतिनिधि के साथ

PermissionError: [WinError 5] Access is denied 

किसी ने टिप्पणी करने के लिए कृपया एक टिप्पणी के रूप Mike's जवाब में जोड़ने के लिए हो रही। मैं फिर मेरा साफ़ कर दूंगा।

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