Python找不到dateutil.relativedelta

Jac*_*ero 32 python install yum python-dateutil

我正在尝试运行程序,paster serve但我一直收到错误:

from dateutil.relativedelta import *
Run Code Online (Sandbox Code Playgroud)

我正在运行python版本2.6.7和dateutil版本1.5,所以应该安装它.

有没有人知道为什么会这样?

我正在使用导入

/usr/lib/python2.7/site-packages/dateutil/relativedelta.pyc
/usr/lib/python2.7/site-packages/dateutil/relativedelta.py
/usr/lib/python2.7/site-packages/dateutil/relativedelta.pyo
Run Code Online (Sandbox Code Playgroud)

我搜索时甚至可以看到包裹:

sudo yum install python-dateutil
Run Code Online (Sandbox Code Playgroud)

UPDATE

所以这篇文章现在已经有几个月了,它只是为我赢得了热门问题徽章,我认为值得一看,看看我是否可以通过更多的经验来支持我,给出一个很好的答案.

我立刻看看这个,看看dateutil只为python2.7安装,我打赌我在做的是这个:

su
(switch to virtual environment)
yum install python-dateutil
Run Code Online (Sandbox Code Playgroud)

哪个sudo会切换到默认的Python版本(即Python2.7而不是2.6.4)

解决这个问题就像这样简单:

from dateutil.relativedelta import *
Run Code Online (Sandbox Code Playgroud)

使用su然后切换到虚拟环境将提供root访问权限并安装到虚拟python目录.使用sudo将库安装到默认目录,而不是虚拟环境site-packages.

Jon*_*Jon 57

我也遇到了这个问题,我最终使用的简单解决方案是将--upgrade添加到命令的末尾.这迫使它安装它,即使python认为它已安装.这解决了这个问题.

因此,如果您遇到此问题,请尝试以下操作:

sudo pip install python-dateutil --upgrade
Run Code Online (Sandbox Code Playgroud)

它不可能伤害任何东西,所以强迫它重新安装是没有害处的.


dav*_*one 5

我有一个类似的问题,但原因很简单。我刚安装的virtualenv根本没有安装dateutil,我也不知道Python软件包的名称。我尝试了pip install dateutil,由于软件包名称不正确,因此显然不起作用。运行pip install python-dateutil,而不是工作(而不是诉诸sudo)。