Sorunun kökü genellikle bin
(Linux) veyaScripts
(Windows) alt dizinindeki . Bunu örnek olarak kendimle karşılaştığım problemi kullanarak açıklayacağım.
Kullanıcı site paketlerime virtualenv 1.10 sürümünü yükledim (sistem site paketleri değil kullanıcı site paketlerinde olması burada alakasızdır)
pdobrogost@host:~$ which virtualenv
/home/users/pdobrogost/.local/bin/virtualenv
pdobrogost@host:~$ virtualenv --version
1.10
1.11 sürümüne yükselttikten sonra aşağıdaki hatayı aldım:
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
Hata mesajında belirtilen dosya şuna benziyordu:
__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')()
)
Orada, virtualenv
betiğin güncellenmediğini ve hala daha önce virtualenv'nin kurulu 1.10 sürümünü gerektirdiğini görüyoruz .
Şimdi, virtualenv'i bu şekilde yeniden yüklemek
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
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...
yardımcı olmuyor (hiçbiri pip install --user --upgrade --force-reinstall virtualenv
) çünkü komut dosyası /home/users/pdobrogost/.local/bin/virtualenv
değişmeden bırakılıyor.
Bunu düzeltebilmemin tek yolu, virtualenv * komut dosyalarını /home/users/pdobrogost/.local/bin/
klasörden manuel olarak kaldırıp virtualenv'i yeniden yüklemekti. Bundan sonra, yeni oluşturulan komut dosyaları, paketin uygun sürümüne başvurur:
pdobrogost@host:~$ virtualenv --version
1.11