समस्या की जड़ अक्सर bin
(लिनक्स) या Scripts
(विंडोज) उपनिर्देशिका में पुरानी स्क्रिप्ट हैं । मैं इसका उपयोग करते हुए समझाता हूँ कि मैंने अपने आप को एक उदाहरण के रूप में सामना किया।
मैंने अपने उपयोगकर्ता साइट-पैकेजों में वर्चुअन संस्करण 1.10 स्थापित किया था (तथ्य यह है कि यह उपयोगकर्ता साइट-पैकेज में है साइट साइट-पैकेज नहीं अप्रासंगिक है)
pdobrogost@host:~$ which virtualenv
/home/users/pdobrogost/.local/bin/virtualenv
pdobrogost@host:~$ virtualenv --version
1.10
संस्करण १.११ में अपग्रेड करने के बाद मुझे निम्न त्रुटि मिली:
pdobrogost@host:~$ virtualenv --version
Traceback (most recent call last):
File "/home/users/pdobrogost/.local/bin/virtualenv", line 5, in <module>
from pkg_resources import load_entry_point
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 2701, in <module>
return self.__dep_map
File "build/bdist.linux-x86_64/egg/pkg_resources.py", line 572, in resolve
if insert:
pkg_resources.DistributionNotFound: virtualenv==1.10
/home/users/pdobrogost/.local/bin/virtualenv
त्रुटि संदेश में उल्लिखित फ़ाइल इस तरह दिखती है:
#!/opt/python/2.7.5/bin/python2.7
# EASY-INSTALL-ENTRY-SCRIPT: 'virtualenv==1.10','console_scripts','virtualenv'
__requires__ = 'virtualenv==1.10'
import sys
from pkg_resources import load_entry_point
if __name__ == '__main__':
sys.exit(
load_entry_point('virtualenv==1.10', 'console_scripts', 'virtualenv')()
)
वहां, हम देखते हैं कि virtualenv
स्क्रिप्ट को अपडेट नहीं किया गया था और अभी भी वर्चुअलाइजेशन के पहले स्थापित संस्करण 1.10 की आवश्यकता है।
अब, virtualenv को इस तरह पुनः इंस्टॉल करना
pdobrogost@host:~$ pip install --user --upgrade virtualenv
Downloading/unpacking virtualenv from https://pypi.python.org/packages/py27/v/virtualenv/virtualenv-1.11.1-py27-none-any.whl#md5=265770b61de41d34d2e9fdfddcdf034c
Using download cache from /home/users/pdobrogost/.pip_download_cache/https%3A%2F%2Fpypi.python.org%2Fpackages%2Fpy27%2Fv%2Fvirtualenv%2Fvirtualenv-1.11.1-py27-none-any.whl
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...
मदद नहीं करता है (न ही pip install --user --upgrade --force-reinstall virtualenv
) क्योंकि स्क्रिप्ट /home/users/pdobrogost/.local/bin/virtualenv
को अपरिवर्तित छोड़ दिया गया है।
जिस तरह से मैं इसे ठीक कर सकता था वह मैन्युअल रूप से virtualenv * स्क्रिप्ट को /home/users/pdobrogost/.local/bin/
फ़ोल्डर से हटाने और फिर से virtualenv को स्थापित करने से था। इसके बाद, नव सृजित स्क्रिप्ट पैकेज के उचित संस्करण का उल्लेख करती हैं:
pdobrogost@host:~$ virtualenv --version
1.11