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

时间:2017-04-04 16:17:26

标签: python pycharm virtualenv

我正在尝试从我的虚拟环境运行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

我不仅有芹菜,而且还使用了virtenv以外的python 2.7。当我在进入或离开环境时键入哪个python时,它们都来自同一位置,根据搭便车者指导python,它们应该是分开的。这是怎么回事?不应该在虚拟环境中使用python吗?

然后当我尝试pip install 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'

5 个答案:

答案 0 :(得分:1)

首先, 您的虚拟环境install Celery

IOError: [Errno 13] Permission denied:

如果您获得了示例中显示的sudo pip install -U Celery (这表示您拥有this problem,并且您可以/应该按照提供的链接进行解析),请使用:

python manage.py runserver

完成之后:

~/.virtualenvs/<venv_name>/bin/python

并查看是否可以解决您的问题。

注意:

您可以将PyCharm中的项目解释器设置为虚拟环境

  1. 转到文件&gt;设置&gt;项目:&gt; 项目口译员。
  2. 在项目口译员上,单击Cog图标并选择“Add Local”
  3. 查找{{1}}
  4. 申请,然后确定
  5. 祝你好运:)

答案 1 :(得分:0)

在你的virtualenv中安装celery:

pip install django-celery

在你的virtualenv中启动django app:

python manage.py runserver

答案 2 :(得分:0)

一个好的检查是在你运行它的任何地方输入pip freeze。它将打印出所有已安装的软件包。

答案 3 :(得分:0)

以管理员身份运行cmd,它一直对我有用。

答案 4 :(得分:-2)

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