簡體   English   中英

當我運行./manage.py運行服務器時,我得到錯誤ImportError:沒有名為celery的模塊

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

我正在嘗試從我的虛擬環境運行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安裝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'

首先, 您的虛擬環境中安裝Celery

pip install -U Celery

如果你得到IOError: [Errno 13] Permission denied:如你的例子所示(這意味着你有這個問題 ,你可以/應該通過遵循提供的鏈接來解決它)然后使用:

sudo pip install -U Celery 

完成之后:

python manage.py runserver

並查看是否可以解決您的問題。

注意:

您可以將PyCharm中的項目解釋器設置為虛擬環境

  1. 轉到文件>設置>項目:>項目解釋器。
  2. 在項目解釋器上單擊Cog圖標並選擇“Add Local”
  3. 找到~/.virtualenvs/<venv_name>/bin/python
  4. 然后應用確定

祝好運 :)

在你的virtualenv中安裝芹菜:

pip install django-celery

而在你的virtualenv啟動django應用程序:

python manage.py runserver

一個好的檢查是在你運行它的任何地方進入pip freeze 它將打印出所有已安裝的軟件包。

以管理員身份運行cmd它對我來說一直都有效。

請嘗試刪除'/Library/Python/2.7/site-packages/_billiard'並重新安裝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM