与celery和billiard的python virtualenv ImportError

时间:2015-11-11 23:30:04

标签: django python-2.7 amazon-ec2 celery virtualenv

我正在使用python 2.7.10构建一个新的amazon实例作为默认值。 在我运行了我的机器配置脚本并且真相到来之后,芹菜给了我一个导入,所以我把问题调试给了billard。

包裹似乎在正确的路径中,即

sudo find -name "billiard"
./srv/ia-live/lib64/python2.7/dist-packages/billiard

其中ia-live是我的virtualenv的路径。检查via python virtualenv可执行文件中的路径

import sys
sys.path

['',
 '/srv/ia-live/bin',
 '/srv/ia-live/src/django-devserver-redux-master',
 '/usr/lib/python2.7',
 '/srv/ia-live/local/lib64/python2.7/site-packages',
 '/srv/ia-live/local/lib/python2.7/site-packages',
 '/srv/ia-live/lib64/python2.7',
 '/srv/ia-live/lib/python2.7',
 '/srv/ia-live/lib64/python2.7/site-packages',
 '/srv/ia-live/lib/python2.7/site-packages',
 '/srv/ia-live/lib64/python2.7/lib-dynload',
 '/srv/ia-live/local/lib/python2.7/dist-packages',
 '/srv/ia-live/local/lib/python2.7/dist-packages',
 '/srv/ia-live/lib/python2.7/dist-packages',
 '/usr/lib64/python2.7',
 '/usr/lib/python2.7',
 '/srv/ia-live/local/lib/python2.7/dist-packages/IPython/extensions',
 '/home/ec2-user/.ipython']

似乎是正确的,但当我这样做时

import billiard
ImportError: No module named billiard

我不明白为什么会有问题

1 个答案:

答案 0 :(得分:5)

我能够找出问题所在。它与ec2-ami

附带的默认python27 virtualenv和devel包有关

对我来说,我必须更新系统pip和系统virutalenv

使用

sudo -i
pip install --upgrade pip
pip install --upgrade virtualenv

和我努力运行/ usr / bin / virtualenv来创建一个新的virtualenv。它解决了我的问题。

希望它也可以帮助其他人。