当前位置: 首页 > 面试题库 >

Python-pytest的PATH问题“ ImportError:没有名为YadaYadaYada的模块”

轩辕海
2023-03-14
问题内容

我使用easy_install在Mac上安装pytest,并开始为文件结构像这样的项目编写测试:

repo/
repo/app.py
repo/settings.py
repo/models.py
repo/tests/
repo/tests/test_app.py

py.testrepo目录中运行时,所有行为均符合你的预期

但是,当我在linuxWindows上尝试相同的操作时(两者上都具有pytest 2.2.3),只要它从我的应用程序路径中首次导入某些内容,它就会发出吠声。举例来说from app import some_def_in_app

我需要编辑PATH才能在这些系统上运行py.test吗?有人经历过吗?


问题答案:

是的,如果你cd转到tests目录,则源文件夹不在Python的路径中。

你有2个选择:

  1. 手动将路径添加到测试文件,如下所示:
import sys, os
myPath = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, myPath + '/../')
  1. 使用env var运行测试PYTHONPATH=../。


 类似资料:
  • 问题内容: 我在Windows 7上使用python 3.4。为了打开一个doc文件,我正在使用此代码 我不确定为什么每次都会弹出此错误 ImportError:没有名为win32api的模块 虽然我已经从http://www.lfd.uci.edu/~gohlke/pythonlibs/#pywin32安装了pywin32, 并且我还检查了导入路径…我也尝试过重新安装pywin32,但这并没有消

  • 我在Python 3中安装软件包遇到了麻烦。 我一直使用安装软件包。但现在,当我尝试安装ansicolors软件包时,我得到了: 我不知道该怎么做,因为我没有安装setupool在过去。尽管如此,我还是能够安装许多包与没有setupols。为什么我现在应该安装工具? 我甚至不能安装setuptools,因为我有python3.3,而setuptools不支持python3。 为什么我的instal

  • 问题内容: 我已经使用命令安装了redis,但是当我运行Python程序时收到此错误: 知道发生了什么问题还是我也应该安装其他软件包?我正在使用Ubuntu 13.04,并且具有Python 2.7。 问题答案: 要安装redis-py,只需: 或者(您确实应该使用点子): 或从来源: 入门 详细信息:https : //pypi.python.org/pypi/redis

  • 问题内容: 由于某种原因,我不能使用or模块。在python shell中运行以下命令后 要么 我得到这个错误 ModuleNotFoundError:没有名为“ Tkinter”的模块 要么 ModuleNotFoundError:没有名为“ tkinter”的模块 可能是什么原因,我们如何解决呢? 问题答案: 您可能需要使用以下一种(或类似的方式)安装它: 您也可以针对python 3.7提及

  • 问题内容: 我在 Google App Engine的Python 使用Google Translate API时遇到此错误,但是我不知道如何解决, 我将尝试 设置指示Google App Engine SDK的环境 ,然后再次上传到Google Apps Engine, 始终会收到错误消息 , 错误:服务器错误 服务器遇到错误,无法完成您的请求。如果问题仍然存在,请报告您的问题并提及此错误消息以

  • 问题内容: 我指的是以下教程来为我的Web应用程序创建登录页面。 http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982 我的数据库有问题。我正在 当我执行 我已经尝试了所有可能的方法来安装python mysql,这是本教程中提到的一种,easy_install,sudo apt-get in