VirtualEnv python导入不起作用



我最近一直在为这个琐碎的问题伤透脑筋,到目前为止,我在网上找不到任何帮助。我正在使用virtualenv,我的项目结构:

myproj
..bin
..tasks.py
..celery_app.py
..projapi

其中importFolder是一个API文件夹,里面有一堆文件。proj.py是我的脚本,它完成了所有的工作,并包含像这样的导入

sys.path.append("/abspath/to/projapi")
import projapi

我可以很好地源bin/activate并输入我的virtualenv,但当我返回一个目录并运行芹菜工作程序时:

 celery -A myproj worker --app=myproj.celery_app:app -l info

对于myproj目录中的每个文件夹,我都会得到一个导入错误,例如"projapi"的importerror。就好像virtualenv只在/bin目录中查找所有文件(其中my-proj在myproj目录中)

我该怎么解决这个问题?我尝试过在activate和tasks.py中添加各种系统和python路径,但都无济于事。

可能您使用的是系统范围的芹菜。尝试在虚拟环境中安装pip并重复执行,这将解决您的问题。

还要验证.py所在的每个文件夹是否包含__init__.py文件。

您尝试过更改celery调用本身吗?

celery -A celery_app worker -E -l INFO

相关内容

  • 没有找到相关文章

最新更新