Akar masalahnya adalah skrip yang sering kedaluwarsa dalam subdirektori bin(Linux) atau Scripts(Windows). Saya akan menjelaskan masalah penggunaan ini yang saya temui sebagai contoh.
Saya memiliki virtualenv versi 1.10 yang diinstal di paket-situs pengguna saya (fakta itu di paket-situs pengguna tidak sytem-paket situs tidak relevan di sini)
pdobrogost@host:~$ which virtualenv
/home/users/pdobrogost/.local/bin/virtualenv
pdobrogost@host:~$ virtualenv --version
1.10
Setelah saya memutakhirkan ke versi 1.11 saya mendapat kesalahan berikut:
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
File yang /home/users/pdobrogost/.local/bin/virtualenvdisebutkan dalam pesan kesalahan tampak seperti ini:
#!/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')()
)
Di sana, kita melihat bahwa virtualenvskrip tidak diperbarui dan masih memerlukan versi 1.10 dari virtualenv yang diinstal sebelumnya.
Sekarang, instal ulang virtualenv seperti ini
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...
tidak membantu (keduanya pip install --user --upgrade --force-reinstall virtualenv) karena skrip /home/users/pdobrogost/.local/bin/virtualenvdibiarkan tidak berubah.
Satu-satunya cara saya dapat memperbaikinya adalah dengan secara manual menghapus skrip virtualenv * dari /home/users/pdobrogost/.local/bin/folder dan menginstal virtualenv lagi. Setelah ini, skrip yang baru dibuat merujuk ke versi paket yang tepat:
pdobrogost@host:~$ virtualenv --version
1.11