【问题标题】:VirtualEnv python imports not workingVirtualEnv python导入不起作用
【发布时间】:2016-03-22 06:21:15
【问题描述】:

我最近一直在为这个琐碎的问题而烦恼,到目前为止我在网上找到的任何东西都没有帮助我。我正在使用 virtualenv,我的项目结构:

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

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

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

我可以 source bin/activate 并进入我的 virtualenv 就好了,但是当我返回一个目录并运行 celery worker 时:

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

myproj 目录中的每个文件夹都会出现导入错误,例如“projapi”的导入错误。就好像 virtualenv 只在 /bin 目录中查找所有文件(我的项目在 myproj 目录中)

我该如何解决这个问题?我尝试在 activate 和我的 tasks.py 中附加各种系统和 python 路径,但无济于事。

【问题讨论】:

  • 只是猜测:您没有在 virtualenv 内部使用 celery。哪种芹菜告诉你什么?

标签: python celery virtualenv


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    celery -A celery_app worker -E -l INFO
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-27
      • 1970-01-01
      • 2018-01-08
      • 2014-10-31
      • 2018-07-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多