如何解决此错误"DistributionNotFound:找不到'zipp> = 0.5'发行版,并且importlib-metadata要求发行"? [英] How do I fix this error "DistributionNotFound: The 'zipp>=0.5' distribution was not found and is required by importlib-metadata"?
问题描述
我想在我的mac终端中创建一个虚拟环境,我得到以下信息 错误.您能帮我解决这个问题吗?
I'm tying to create a virtual environment in my mac terminal and I get the following error. Could you please help me how I can fix this?
hangsunkim@Hangs-MacBook-Pro ~ % virtualenv --system-site-packages -p python3 ./venv
Traceback (most recent call last):
File "/usr/local/bin/virtualenv", line 6, in <module>
from pkg_resources import load_entry_point
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3241, in <module>
@_call_aside
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3225, in _call_aside
f(*args, **kwargs)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 3254, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 585, in _build_master
return cls._build_from_requirements(__requires__)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 598, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources/__init__.py", line 786, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'zipp>=0.5' distribution was not found and is required by importlib-metadata
推荐答案
macOS Catalina->版本10.15.3
macOS Catalina --> Version 10.15.3
python --version-> Python 3.7.7
python --version --> Python 3.7.7
pip --version->来自/usr/local/lib/python3.7/site-packages/pip(python 3.7)的pip 20.0.2
pip --version --> pip 20.0.2 from /usr/local/lib/python3.7/site-packages/pip (python 3.7)
尝试安装virtualenv
和virtualenvwrapper
一段时间后,我弄清楚了如何使它们工作.
After a while trying to install virtualenv
and virtualenvwrapper
I figured out how to make them work.
这是我所做的:
- 安装python 3
brew update && brew upgrade
brew doctor
您应该会看到类似您的系统已准备好酿造"之类的东西.
You should see something like "Your system is ready to brew."
brew install python
- 默认使用python 3.您必须将此行添加到您的.zshrc文件中(如果此文件不存在,只需创建它即可).
# Add user python 3.7 to path
export PATH="/usr/local/opt/python/libexec/bin:$PATH"
- 安装virtualenv和virtualenvwrapper
pip install virtualenv
pip install virtualenvwrapper
- 将virtualenvwrapper设置添加到.zshrc文件(如果您不知道virtualenvwrapper.sh在哪里,只需执行
which virtualenvwrapper.sh
)
#Virtualwrapper stuff
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/Git
source /usr/local/bin/virtualenvwrapper.sh
在这一点上,我们仍然存在zipp> = 0.5'错误.那是什么问题呢?正如您在回溯中看到的那样,virtualenv试图使用系统中安装的python版本,并且该位置没有zipp的分发.
At this point, we still have the zipp>=0.5' error. So what is the problem? As you see in your traceback, virtualenv is trying to use the python version installed in the system and is in that place where there is no distribution of zipp.
我不知道这是否是解决此问题的最佳方法,但至少我能够在此之后创建virtualenvs:
I don't know if it is the best way to fix this but at least I was able to create virtualenvs after this:
-
sudo su
- 使用系统python安装pip(您必须下载 get-pip.py 文件)
sudo su
- Install pip with system python (you must download the get-pip.py file)
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python /Users/{your_username}/Desktop/get-pip.py
- 再次安装virtualenv和virtualenvwrapper(以sudo模式)
pip install virtualenv
pip install virtualenvwrapper
- 退出sudo模式.作为普通用户,我尝试再次安装virtualenv和virtualenvwrapper,然后重启终端(我不知道是否有必要,但以防万一).
- 最后,尝试创建您的virtualenv
mkvirtualenv test
- Exit sudo mode. As a normal user I tried to install again virtualenv and virtualenvwrapper and after that restarted the terminal (I don't know if it's necessary but just in case).
- Finally, try to create your virtualenv
mkvirtualenv test
这篇关于如何解决此错误"DistributionNotFound:找不到'zipp> = 0.5'发行版,并且importlib-metadata要求发行"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!