1

我有几个测试文件夹设置为使用 tox。他们都有 pysqlite 作为要求,无论是对于包本身,还是为了运行测试。我一直在使用 tox 运行这些包,最近,我注意到 tox 在尝试安装 pysqlite 时失败了。

问题来自 pysqlite setup.cfg。默认情况下,它具有以下几行:

[build_ext]
#define=
#include_dirs=/usr/local/include
#library_dirs=/usr/local/lib
libraries=sqlite3
define=SQLITE_OMIT_LOAD_EXTENSION

为了正确安装它,我进入这个文件并取消注释掉注释掉的三行。AFAIK 这不能通过 pip/tox 自动化。

我知道 tox.ini 中的 sitepackages 变量,但是启用它会导致一些问题,而其他包中使用的版本不正确。

有没有办法将 pysqlite 安装到 tox virtualenvs?如果是这样,怎么做?

4

1 回答 1

0

找到了解决方案。

如下设置 tox.ini:

[testenv]
setenv=LIBRARY_PATH=/usr/local/lib
       CPATH=/usr/local/include
deps=pysqlite

这将在 tox 使用 pip 设置 virtualenv 依赖项之前设置 library_path 和 CPATH。之后一切顺利。

注意:这需要 tox 0.9 或更高

于 2013-05-22T22:03:38.503 回答