[英]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中的项目解释器设置为虚拟环境
~/.virtualenvs/<venv_name>/bin/python
~/.virtualenvs/<venv_name>/bin/python
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.