运行Python3.6.2。我在process_sqs_messages.py中的代码直到第3行:
__author__ = 'Chris'
import boto3
from xyz.settings import SQS_QUEUE_NAME
这是我的stacktrace:
Traceback (most recent call last):
File "bin/process_sqs_messages.py", line 3, in <module>
from xyz.settings import SQS_QUEUE_NAME
ModuleNotFoundError: No module named 'xyz'
目录结构:
Project
|
+-- bin
| |
| +-- process_sqs_messages.py
|
+-- xyz
| |
| +-- __init__.py
| +-- settings.py
我已安装的应用:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'xyz',
]
任何人都知道我为什么会收到此错误?
答案 0 :(得分:0)
请注意,django.conf.settings不是模块 - 它是一个对象。所以 无法导入个人设置
from django.conf.settings import DEBUG # This won't work.
你必须像这样访问设置模块
from django.conf import settings
if settings.DEBUG:
# Do something
答案 1 :(得分:0)
我得到了它,但我不知道为什么。希望有人可以解决这个问题。我正在浏览网页试图修复此错误,这就是我所做的/找到的。
我首先在项目级别创建了一个setup.py文件,所以
Project
|
+-- setup.py
然后我将此代码添加到setup.py文件
#!/usr/bin/env python
from distutils.core import setup
setup(name='xyz',
version='0.1.0',
description='XYZ',
author='Chris',
author_email='none@none.com',
url='http://www.none.com/',
packages=['xyz', ],
)
然后我运行python setup.py install
和(这里是我迷路的地方)它安装了包。它在我的virtualenv下创建了一个构建目录,egg信息,站点包等等。
最后我运行了我的命令python bin/process_sqs_messages.py
并且它成功了。没有错误。
如果你能帮助我和其他人,请评论/解释我的所作所为,因为我不能:/