Khi tôi làm ./manage.py process_email
trong ứng dụng của mình, tôi nhận được ImportError: No module named commands.process_email
.lệnh django không thể tìm thấy mô-đun lệnh
bố trí thư mục của tôi là:
./
├── __init__.py
├── admin.py
├── forms.py
├── management
│ ├── __init__.py
│ └── commands
│ ├── __init.py__
│ └── process_email.py
├── models.py
├── views.py
Nguồn lệnh process_email là:
from django.core.management.base import BaseCommand, CommandError
from django.conf import settings
from website.event.models import Event
class Command(BaseCommand):
def handle(self, *args, **options):
process_email()
def process_email():
print "processing email"
và lỗi tôi nhận được:
(website.com)[email protected] ~/code/website.com/website $ > ./manage.py process_email
Traceback (most recent call last):
File "./manage.py", line 14, in <module>
execute_manager(settings)
File "/Users/kings/code/website.com/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Users/kings/code/website.com/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Users/kings/code/website.com/lib/python2.6/site-packages/django/core/management/__init__.py", line 261, in fetch_command
klass = load_command_class(app_name, subcommand)
File "/Users/kings/code/website.com/lib/python2.6/site-packages/django/core/management/__init__.py", line 67, in load_command_class
module = import_module('%s.management.commands.%s' % (app_name, name))
File "/Users/kings/code/website.com/lib/python2.6/site-packages/django/utils/importlib.py", line 35, in import_module
__import__(name)
ImportError: No module named commands.process_email
khi tôi làm ./manage.py
, nó hiển thị process_email
trong "Các tiểu ban có sẵn:". Điều này cho tôi biết rằng process_email.py được xem bởi manage.py. Ngoài ra init .py trống (Tôi không nghĩ rằng nó quan trọng nhưng chỉ là FYI).
xin chào, chào mừng bạn đến với SO. Chỉ cần một con trỏ - đừng lo lắng về việc sử dụng pastebin, bạn được chào đón để đặt mã/thư mục bố trí của bạn ở đây (trên thực tế nó giúp chúng tôi nếu bạn làm). –
Như một cảnh báo, Django đang sử dụng imp.find_module mà không tôn trọng trứng nén: http://stackoverflow.com/questions/28962344/imp-find-module-which-supports-zipped-eggs – benjaoming