加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 为什么我的当前目录不会出现在Windows上使用pytest的

发布时间:2020-12-20 11:33:01 所属栏目:Python 来源:网络整理
导读:我有以下文件夹结构; myapp myapp __init__.py tests test_ecprime.py 而我的前任是 C:Userswwernerprogrammingmyapp 我有以下测试设置: import pytestimport sysimport pprintdef test_cool(): pprint.pprint(sys.path) assert False 这会产生以下
我有以下文件夹结构;

myapp
  myapp
     __init__.py
  tests
     test_ecprime.py

而我的前任是

C:Userswwernerprogrammingmyapp

我有以下测试设置:

import pytest
import sys
import pprint

def test_cool():
    pprint.pprint(sys.path)
    assert False

这会产生以下路径:

['C:Userswwernerprogrammingmyapptests','C:UserswwernerprogrammingenvsmyappScripts','C:Windowssystem32python34.zip','C:Python34DLLs','C:Python34lib','C:Python34','C:Userswwernerprogrammingenvsmyapp','C:Userswwernerprogrammingenvsmyapplibsite-packages']

当我尝试导入myapp时,我收到以下错误:

ImportError: No module named 'ecprime'

所以看起来它并没有将当前目录添加到我的路径中.

通过将我的导入行更改为如下所示:

import sys
sys.path.insert(0,'.')
import myapp

然后我可以毫无问题地导入myapp.

为什么运行pytest时我的当前目录没有显示在路径中?是我唯一要插入的解决方法.进入sys.path? (如果重要,我正在使用Python 3.4)

解决方法

啊啊!

在比较了我的cookiecutter repo的布局之后,事实证明它比这更简单(也更好).

tests/
    __init__.py
    test_myapp.py

将__init__.py文件简单添加到我的测试目录允许我从我的主目录运行py.test.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读