문제의 근원은 종종 bin
(Linux) 또는 Scripts
(Windows) 하위 디렉토리 에있는 오래된 스크립트입니다 . 나는 예를 들어서 내가 겪은 문제를 사용하여 이것을 설명 할 것이다.
사용자 사이트 패키지에 virtualenv 버전 1.10이 설치되어 있습니다 (사이트 패키지가 아닌 사용자 사이트 패키지에 있다는 사실은 여기와 관련이 없습니다)
pdobrogost@host:~$ which virtualenv
/home/users/pdobrogost/.local/bin/virtualenv
pdobrogost@host:~$ virtualenv --version
1.10
버전 1.11로 업그레이드 한 후 다음 오류가 발생했습니다.
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
스크립트가 업데이트되지 않았으며 이전에 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
가 변경되지 않았 으므로 ()도 도움이되지 않습니다.
이 문제를 해결할 수있는 유일한 방법은 /home/users/pdobrogost/.local/bin/
폴더 에서 virtualenv * 스크립트를 수동으로 제거 하고 virtualenv를 다시 설치하는 것입니다. 그런 다음 새로 생성 된 스크립트는 올바른 버전의 패키지를 참조합니다.
pdobrogost@host:~$ virtualenv --version
1.11