我正在尝试从我的虚拟环境运行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'
答案 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 :(得分: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'并重新安装。