python tox - 没有这样的文件或目录错误

python tox - No such file or directory error

我有一个名为 'my_project' 的项目,结构如下:

my_project
|
 tox.ini
 setup.py
 src
 |
  client.py
  server.py
  config.json
  # other files
  tests.py

文件 client.pyserver.py 中定义的 类 使用 config.jsontests.py 中包含的信息为每个文件实施 py.test 测试文件夹 src 中的文件。在 client/server 文件中,我读取配置文件如下:

with open('./config.json') as infile:
     self.parameters = json.load(infile)

接下来,我创建了一个tox.ini文件如下:

[tox]
envlist = py27,cov

[testenv]
#commands = py.test --cov=src/client.py src/tests.py -v
commands = py.test -sv --doctest-modules src/__init__.py src/tests.py


[testenv:py27]
commands = coverage erase
           coverage run --source=src -m pytest
           coverage report -m
deps = pytest

但是当我 运行 tox 命令时,我得到一个错误:"No such file or directory: 'config.json'"。如何设置正确的路径以确保 tox 可以找到所有必需的文件?

尝试打开 './config.json' 将始终使 Python 在进程的当前目录中查找;这就是文件路径的工作方式。如果要在与正在打开的 .py 文件相同的目录中打开 config.json 文件,则需要包括包含 .py 文件的目录的路径:

with open(os.path.join(os.path.dirname(__file__), 'config.json')) as infile: