如何解决此错误“ DistributionNotFound:找不到'zipp> = 0.5'分发,并且importlib-metadata必需”?

时间:2020-02-26 14:35:25

标签: virtual-environment

我想在我的mac终端中创建一个虚拟环境,我得到以下信息 错误。您能帮我解决这个问题吗?

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

4 个答案:

答案 0 :(得分:4)

macOS Catalina-> 10.15.3版

python --version-> Python 3.7.7

pip --version-> /usr/local/lib/python3.7/site-packages/pip(python 3.7)中的pip 20.0.2

尝试安装source ~/.bashrc virtualenv一段时间后,我弄清楚了如何使它们工作。

这是我所做的:

  1. 安装python 3
virtualenvwrapper

您应该看到类似“您的系统已准备好酿造”的信息。

    brew update && brew upgrade
    brew doctor
  1. 默认使用python 3。您必须将此行添加到您的.zshrc文件中(如果此文件不存在,则只需创建它即可)。
    brew install python
  1. 安装virtualenv和virtualenvwrapper
    # Add user python 3.7 to path
    export PATH="/usr/local/opt/python/libexec/bin:$PATH"
  1. 将virtualenvwrapper设置添加到.zshrc文件中(如果您不知道virtualenvwrapper.sh在哪里,只需执行 pip install virtualenv pip install virtualenvwrapper
which virtualenvwrapper.sh

目前,我们仍然存在zipp> = 0.5'错误。那是什么问题呢?如您在回溯中所见,virtualenv尝试使用系统中安装的python版本,并且该位置没有zipp分发。

我不知道这是否是解决此问题的最佳方法,但至少我能够在此之后创建virtualenvs:

  1. #Virtualwrapper stuff export WORKON_HOME=$HOME/.virtualenvs export PROJECT_HOME=$HOME/Git source /usr/local/bin/virtualenvwrapper.sh
  2. 使用系统python安装pip(您必须下载get-pip.py文件)
sudo su
  1. 再次安装virtualenv和virtualenvwrapper(以sudo模式)
/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python /Users/{your_username}/Desktop/get-pip.py 
  1. 退出sudo模式。作为普通用户,我尝试再次安装virtualenv和virtualenvwrapper,然后重启终端(我不知道是否有必要,但以防万一)。
  2. 最后,尝试创建您的virtualenv pip install virtualenv pip install virtualenvwrapper

答案 1 :(得分:0)

此外,不确定这是否是最佳答案,但是根据mathias的答案,您可以使用别名指向pip3安装版本。

pip3 install -U virtualenv
VERSION=$(python3 --version| sed -En 's/[^[:digit:]]*([[:digit:]]+)[^[:digit:]]+([[:digit:]])[^[:digit:]]./\1.\2/p')
echo 'alias virtualenv="/Library/Frameworks/Python.framework/Versions/'$VERSION'/bin/virtualenv"' >> /Users/$USER/.zshrc
source ~/.zshrc

答案 2 :(得分:0)

首先卸载virtualenv

sudo pip uninstall virtualenv

然后使用以下命令找到点子缓存目录:

pip cache dir

现在使用rm -rf删除此缓存:

rm -rf above_cache_directory

使用哪个查找virtualenv的其余目录,并将其删除:

which virtualenv
rm -rf above_found_directory

现在再次安装virtualenv:

sudo pip install virtualenv

答案 3 :(得分:0)

使用这个命令:

$ source nameofthefolder/bin/activate