Python DistributionNotFound Error after installing EB CLI 3.0

走远了吗. 提交于 2019-11-29 09:49:31

I was experiencing a similar error when trying to run eb, though not for dateutil...

Traceback (most recent call last):   
  File "/usr/local/bin/eb", line 5, in <module>
    from pkg_resources import load_entry_point   
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module>
    working_set.require(__requires__)   
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require
    needed = self.resolve(parse_requirements(requirements))   
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve
    raise DistributionNotFound(req)  # XXX put more info here
pkg_resources.DistributionNotFound: requests>=2.6.1,<2.7

For me the solution was to update setuptools:

sudo pip install --upgrade setuptools

Hope that helps somebody.

Use the following command:

pip install awsebcli

It will automatically upgrade all dependecies of awsebcli.

Virendra Sagar

use the following command

sudo pip install python-dateutil

to upgrade it

Pip is probably linked to a different version of python then standard.

You should try installing pip using

python get-pip.py

(You can download get-pip.py from the pip website)

Otherwise, You can see which Python everything is linked too.

which python

head -1 $(which eb)

head -1 $(which pip)

You can change to shebang line in the eb script to match pip and it should all work.

You can also install using a virtualenv (pythons recommended way of installing)

virtualenv ~/ebenv
source ~/ebenv/bin/activate
pip install awsebcli
deactivate
sudo ln -s ~/ebenv/bin/eb /usr/local/bin/

in my case on mac osx 10.10, I had to reinstall.

sudo pip install python-dateutil

Just in case some runs into this type of error. check the last paragraph in the trace for the kind of error that it is being raised. In my case, this was:

 raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.ContextualVersionConflict: (six 1.4.1
(/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python),
Requirement.parse('six>=1.5'), set(['python-dateutil']))

I had the exact same issue, for me, the eb script was using the wrong python. To solve it I just modified the eb script:

> which eb
/usr/local/bin/eb
> sudo vim /usr/local/bin/eb
## Change the first line from '#!/usr/bin/python' to '#!/usr/local/bin/python'

After restarting the terminal, everything work as expected.

From the raised error in your log, it needs python-dateutil>=2.1. So you need to make sure that version is installed and install it if not. I had similar issue, and the solution (in my case) is:

 $ pip install --ignore-installed python-dateutil==2.2
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!