简体   繁体   English

当我运行./manage.py运行服务器时,我得到错误ImportError:没有名为celery的模块

[英]When I run ./manage.py run server I get the error ImportError: No module named celery

I'm trying to run manage.py runserver from my virtual environment and when I do I get this message 我正在尝试从我的虚拟环境运行manage.py runserver,当我这样做时,我收到此消息

    Traceback (most recent call last):
      File "./manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
        utility.execute()
      File "/Library/Python/2.7/site-packages/django/core/management/__init__.py", line 302, in execute
        settings.INSTALLED_APPS
      File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 55, in __getattr__
        self._setup(name)
      File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 43, in _setup
        self._wrapped = Settings(settings_module)
      File "/Library/Python/2.7/site-packages/django/conf/__init__.py", line 99, in __init__
        mod = importlib.import_module(self.SETTINGS_MODULE)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
        __import__(name)
      File "/Users/ray/Desktop/sub_desk/myheroku/practice/src/gettingstarted/__init__.py", line 4, in <module>
        from .celery import app as celery_app
      File "/Users/ray/Desktop/sub_desk/myheroku/practice/src/gettingstarted/celery.py", line 6, in <module>
        from celery import Celery
    ImportError: No module named celery

Not only do I have celery, but it's also using python 2.7 from outside the virtenv. 我不仅有芹菜,而且还使用了virtenv以外的python 2.7。 When I type which python while I'm in or out of the environment they both come from the same location which according to hitchhikers guide to python they should be seperate. 当我在进入或离开环境时键入哪个python时,它们都来自同一位置,根据搭便车者指导python,它们应该是分开的。 What's going on? 这是怎么回事? shouldn't it be using the python from within ythe virtual env? 不应该在虚拟环境中使用python吗?

then when I tried to pip install django-celery I got the following 然后,当我尝试pip安装django-celery时,我得到了以下内容

    (practice) apples-MBP:src ray$ pip install django-celery
    Collecting django-celery
      Downloading django_celery-3.2.1-py2-none-any.whl (63kB)
        100% |████████████████████████████████| 71kB 2.9MB/s 
    Requirement already satisfied: django>=1.8 in /Library/Python/2.7/site-packages (from django-celery)
    Collecting celery<4.0,>=3.1.15 (from django-celery)
      Downloading celery-3.1.25-py2.py3-none-any.whl (526kB)
        100% |████████████████████████████████| 532kB 1.9MB/s 
    Collecting billiard<3.4,>=3.3.0.23 (from celery<4.0,>=3.1.15->django-celery)
      Using cached billiard-3.3.0.23-cp27-none-macosx_10_6_intel.whl
    Requirement already satisfied: pytz>dev in /System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python (from celery<4.0,>=3.1.15->django-celery)
    Collecting kombu<3.1,>=3.0.37 (from celery<4.0,>=3.1.15->django-celery)
      Using cached kombu-3.0.37-py2.py3-none-any.whl
    Collecting anyjson>=0.3.3 (from kombu<3.1,>=3.0.37->celery<4.0,>=3.1.15->django-celery)
      Using cached anyjson-0.3.3.tar.gz
    Collecting amqp<2.0,>=1.4.9 (from kombu<3.1,>=3.0.37->celery<4.0,>=3.1.15->django-celery)
      Using cached amqp-1.4.9-py2.py3-none-any.whl
    Installing collected packages: billiard, anyjson, amqp, kombu, celery, django-celery
    Exception:
    Traceback (most recent call last):
      File "/Library/Python/2.7/site-packages/pip/basecommand.py", line 215, in main
        status = self.run(options, args)
      File "/Library/Python/2.7/site-packages/pip/commands/install.py", line 342, in run
        prefix=options.prefix_path,
      File "/Library/Python/2.7/site-packages/pip/req/req_set.py", line 784, in install
        **kwargs
      File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 851, in install
        self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
      File "/Library/Python/2.7/site-packages/pip/req/req_install.py", line 1064, in move_wheel_files
        isolated=self.isolated,
      File "/Library/Python/2.7/site-packages/pip/wheel.py", line 345, in move_wheel_files
        clobber(source, lib_dir, True)
      File "/Library/Python/2.7/site-packages/pip/wheel.py", line 323, in clobber
        shutil.copyfile(srcfile, destfile)
      File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py", line 83, in copyfile
        with open(dst, 'wb') as fdst:
    IOError: [Errno 13] Permission denied: '/Library/Python/2.7/site-packages/_billiard.so'

First things first, in your virtual environment install Celery : 首先, 您的虚拟环境中安装Celery

pip install -U Celery

If you get the IOError: [Errno 13] Permission denied: as shown on your example (which means that you have this problem and you can/should sholve it by following the provided link) then use: 如果你得到IOError: [Errno 13] Permission denied:如你的例子所示(这意味着你有这个问题 ,你可以/应该通过遵循提供的链接来解决它)然后使用:

sudo pip install -U Celery 

After that is done: 完成之后:

python manage.py runserver

and see if that fixes your problem. 并查看是否可以解决您的问题。

Note: 注意:

You can set your project interpreter in PyCharm to your virtual environment 您可以将PyCharm中的项目解释器设置为虚拟环境

  1. Go to File > Settings > Project: > Project Interpreter. 转到文件>设置>项目:>项目解释器。
  2. On the project interpreter click on the Cog icon and choose "Add Local" 在项目解释器上单击Cog图标并选择“Add Local”
  3. Find ~/.virtualenvs/<venv_name>/bin/python 找到~/.virtualenvs/<venv_name>/bin/python
  4. Apply then OK 然后应用确定

Good luck :) 祝好运 :)

install celery in your virtualenv: 在你的virtualenv中安装芹菜:

pip install django-celery

while in your virtualenv start the django app: 而在你的virtualenv启动django应用程序:

python manage.py runserver

A good check is to enter pip freeze wherever you're running this. 一个好的检查是在你运行它的任何地方进入pip freeze It will print out all the installed packages. 它将打印出所有已安装的软件包。

以管理员身份运行cmd它对我来说一直都有效。

请尝试删除'/Library/Python/2.7/site-packages/_billiard'并重新安装。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 python celery - ImportError:没有名为_curses的模块 - 在尝试运行manage.py celeryev时 - python celery - ImportError: No module named _curses - while attempting to run manage.py celeryev 在 python3 manage.py 运行服务器中运行我的 django 项目时,我收到此错误 ModuleNotFoundError: No module named 'pip._vendor.urllib3.connection' - When running my django project in python3 manage.py run server i get this error ModuleNotFoundError: No module named 'pip._vendor.urllib3.connection' 当我尝试运行 manage.py runserver 时出现错误 - Get an error when I try to run manage.py runserver ImportError:没有名为toneapp.settings的模块-当我运行python manage.py makemigrations时 - ImportError: No module named toneapp.settings - when i am running python manage.py makemigrations 更改了Django项目的结构,现在在运行manage.py runserver时出现ImportError - Altered Django project structure and now I'm getting an ImportError when I run manage.py runserver 为什么在运行manage.py validate时出现错误? - Why do I get error when i run manage.py validate? ImportError:使用manage.py来运行服务器时,没有名为TestModel的模块 - ImportError: No module named TestModel when use manage.py to runserver manage.py - 导入错误:没有名为 django 的模块 - manage.py - ImportError: No module named django python manage.py运行服务器返回ImportError - python manage.py run server return ImportError 当我在models.py中的python django中运行此命令python manage.py makemigrations博客时出错 - Error when I run this command python manage.py makemigrations blog in python django in models.py
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM