首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:无法导入设置

错误:无法导入设置
EN

Stack Overflow用户
提问于 2013-09-19 01:35:19
回答 2查看 629关注 0票数 1

我正在将一个非常大的多包、多应用程序的Django (1.4.5)项目从使用Django的原生测试运行器切换到py.test (2.3.5)。在创建了setup.cfg (用于管理py.test选项)和conftest.py (用于忽略setup.py)之后,发现并运行了对最底层包web-framework的测试,没有任何错误。当在任何需要web-framework的高级包上运行py.test (带有setup.cfg和conftest.py)时,我收到以下错误:

代码语言:javascript
复制
ERROR: Could not import settings 'high_level_package.test_settings' (Is it on sys.path?): No module named web_framework.settings

我使用的是一个虚拟环境,web-framework位于venv中的以下位置:ENV/lib/python2.7/site-package/

我尝试了在包的根目录中构建venv,并在项目路径之外构建它,但都没有效果。此外,我还可以从更高级别包的根目录中的Python交互式命令行导入web_framework.settings。

我当前的conftest.py只有下面一行: collect_ignore = "setup.py“我尝试在它上面添加以下行:

代码语言:javascript
复制
import os
import sys

sys.path.append(os.path.dirname(__file__))

在上面的sys.path.append中,我还在web框架包的路径中尝试了硬编码。

两种方法都不起作用。

如果它是相关的,我的setup.cfg是:

代码语言:javascript
复制
[pytest]
python_files = *test*.py
norecursedirs = node_modules ENV
addopts = --junitxml=python_result.xml, --doctest-modules

编辑:忘记提及回溯关系。higher_level_package.test_settings导入higher_level_package.settings,后者本身也导入web_framework.settings。

EN

回答 2

Stack Overflow用户

发布于 2013-09-19 04:55:22

为了让它工作,你需要有一个开发-安装的工作树,或添加。到PYTHONPATH环境变量

票数 1
EN

Stack Overflow用户

发布于 2014-01-25 09:13:55

更改为主python网站模块所在的文件夹

代码语言:javascript
复制
django-admin runserver --settings=mysite.settings

创建我的站点的位置

代码语言:javascript
复制
django-admin startproject mysite
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18878728

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档