2017-04-04 111 views
3

我想从我的虚拟环境中运行manage.py runserver命令,当我做我得到这个消息当我运行./manage.py运行服务器出现错误导入错误:没有模块名为芹菜

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吗?

然后,当我试图点子安装Django,芹菜我得到了以下

(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' 
+1

您需要在'celery.py'旁边命名_your_源文件,否则Python不知道导入全局'celery'包。 – thebjorn

+0

好吧,为了确保事情正确设置,我会这样做。从主pyong删除芹菜。激活virtualenv,现在安装芹菜,保持virtualenv激活,然后使用它。 – nomad

回答

1

首先第一件事情,虚拟环境install Celery

pip install -U Celery 

如果你得到IOError: [Errno 13] Permission denied:上你的例子如图所示(这意味着你有this problem,你可以/应该遵循的sholve它提供的链接),然后使用:

sudo pip install -U Celery 

之后做到这一点:

python manage.py runserver 

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

注:

可以在PyCharm项目解释设置为虚拟环境

  1. 转到文件>设置>项目:> 项目解释。
  2. 上的齿轮图标项目解释单击并选择“添加本地”
  3. 查找~/.virtualenvs/<venv_name>/bin/python
  4. 应用,然后确定

祝你好运:)

0

在你的virtualenv安装芹菜:

pip install django-celery 

,而在你的virtualenv启动Django应用程序:

python manage.py runserver 
+0

感谢Dawid的回应。我尝试了你的方法,并在上面编辑了我的问题,所以你可以看到我的结果 –

0

一个很好的检查是输入pip freeze无论你在哪里运行这个。它将打印出所有已安装的软件包。

+0

感谢Jeremy的回应。当我运行pip冻结时,我注意到我的结果与我的requirements.txt应该是相同的。 –

+0

那么'pip freeze> requirements.txt'应该改变这一点。它会在'pip freeze'中写入requirements.txt文件。如果你想以另一种方式 - 在requirements.txt中安装所有东西 - 输入'pip install -r requirements.txt' –

-2

请尝试删除“/资源库/Python/2.7/site-packages/_billiard'并重新安装。

0

运行cmd作为管理员,它一直在为我工作。

相关问题