मैं (--copies
साथ स्पष्ट रूप से परहेज सिमलिंक,) एक python3
आभासी वातावरण बनाने:पूरी तरह से आत्म निहित आभासी वातावरण
» tree venv/
venv/
├── bin
│ ├── activate
│ ├── activate.csh
│ ├── activate.fish
│ ├── python
│ └── python3
├── include
├── lib
│ └── python3.4
│ └── site-packages
├── lib64 -> lib
└── pyvenv.cfg
मैं को निष्क्रिय PYTHONPATH
:
» python3 -m venv --without-pip --copies venv
यह अब मेरा पूरा आभासी वातावरण है , यह सुनिश्चित करने के लिए कि बाहर से कुछ भी लीक नहीं हो रहा है:
» PYTHONPATH=""
venv सक्रिय करें:
» source venv/bin/activate
सत्यापित करें कि activate
प्रदूषित नहीं किया है मेरी PYTHONPATH
:
» echo $PYTHONPATH
(खाली, उम्मीद के रूप में)
मैं सही अजगर का उपयोग कर रहा:
» which python
/foo/bar/venv/bin/python
लेकिन सिस्टम मॉड्यूल अभी भी बी हैं पहुँचा eing:
» python
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import unittest
>>> print(unittest)
<module 'unittest' from '/usr/lib/python3.4/unittest/__init__.py'>
>>>
मैं के बाद से आभासी वातावरण में ऐसी कोई मॉड्यूल है import unittest
बयान विफल उम्मीद होती है,।
मुझे पता करना चाहते हैं:
- क्यों प्रणाली संकुल जब एक virtualenv में पहुँचा रहे हैं?
- मैं पूरी तरह आत्मनिर्भर वर्चुअल वातावरण कैसे बना सकता हूं?
कृपया ध्यान दें कि मैं उपयोग कर रहा हूँ '--copies': कोई symlinks का उपयोग किया जाता है (जैसा कि निर्देशिका पेड़ में देखा गया है)। डॉकर मेरी जरूरतों के लिए अधिक है: मैं इस स्थिति के साथ * लाइव * कर सकता हूं, लेकिन मैं पृष्ठभूमि के मुद्दों को समझना चाहता हूं। हो सकता है कि सिस्टम की पायथन बाइनरी में एक अंतर्निहित पायथनपैथ (जिसे वर्चुअलएन्व में कॉपी किया गया हो)? यह कैसे किया जाता है? सिस्टम 'पायथन' बाइनरी स्थापित है (इस मामले में) 'एपीटी गेट' के साथ, तो पाइथन बाइनरी को यह पता चल जाएगा कि यह कहां स्थापित है (विशेष रूप से प्रतिलिपि बनाने के बाद!)? – dangonfast
वहां '-कोपी' नहीं देखा गया था। मैंने स्थानीय रूप से '--always-copy' का उपयोग करके परीक्षण किया है ('- copies' पुराना नाम है?) और वह फ़ाइलों की प्रतिलिपि बनाता है, लेकिन अजीब * नहीं * unittest के लिए। यदि आप 'ओएस' मॉड्यूल के लिए एक ही परीक्षण का प्रयास करते हैं, तो आपको देखना चाहिए कि आपको सही रास्ता मिल गया है। –
मेरे पास '--always-copy' विकल्प नहीं है, लेकिन' --copies' है। मुझे नहीं पता कि कौन सा पुराना है। मैं अजगर 3.4.3 का उपयोग कर रहा हूँ, और आप? – dangonfast