如何通过需求文件安装模块?

wai*_*kuo 45 python tox

我们的python项目有一个requirements.txt文件,列出了一些依赖模块.我们曾经使用过

pip install -r requirements.txt
Run Code Online (Sandbox Code Playgroud)

安装这些依赖项.我们现在使用tox来构建测试环境.我的问题是我们如何直接通过requirements.txt安装模块.

以下是我们的tox.ini和requirements.txt:

tox.ini:

[tox]
envlist=py27
[testenv]
deps=pytest
     boto
commands=py.test
Run Code Online (Sandbox Code Playgroud)

rquirements.txt:

boto
Run Code Online (Sandbox Code Playgroud)

有没有办法从tox.ini中删除"boto"并添加类似的内容

deps_files=requirements.txt
Run Code Online (Sandbox Code Playgroud)

Den*_*nis 57

 deps = -r{toxinidir}/tools/pip-requires
        -r{toxinidir}/tools/test-requires
Run Code Online (Sandbox Code Playgroud)

  • 值得一提的是你应该有一个`MANIFESTS.in`文件,其中包含`include requirements.txt`行.这将确保我们的需求文件添加到您的分布式软件包中.更多信息[这里](https://wiki.python.org/moin/Distutils/Tutorial)@Cerin我认为这将解决您的问题. (6认同)
  • 这有一个问题,它不会自动更新virtualenv (4认同)

Dav*_*ter 19

帮助我的是以下(另一个解决方案对我不起作用):

deps=
    pytest
    -rrequirements.txt
Run Code Online (Sandbox Code Playgroud)

这个工程至少如果你添加requirements.txtMANIFEST.in,如果你使用一个相对较新的`TOX(> = 1.6.1)版本(见这里).

  • 注意,**`-r`和`requirements.txt`**之间不应有空格.对我来说,一个空间阻止了`requirements.txt`的安装. (7认同)

jfu*_*unk 18

我已经在上面接受的答案中设置了我的依赖项,但是没有安装任何新的依赖项,就像第一次运行tox时一样.要在virtualenv中安装新的依赖项,我必须强制tox重新创建环境,如下所示:

tox --recreate -e py27


abd*_*lek 10

您可以将依赖项和测试依赖项放入requirements.txt并按requirements.testing.txt顺序放入根目录。

放入tox.ini项目的根目录,您可以使用以下方法安装依赖项。

[testenv] deps = -r{toxinidir}/requirements.txt -r{toxinidir}/requirements.testing.txt

除了升级依赖

[testenv] deps = -Ur{toxinidir}/requirements.txt -Ur{toxinidir}/requirements.testing.txt