我设置了几个测试文件夹以使用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?如果是这样,怎么样?
答案 0 :(得分:0)
为此找到了解决方案。
按如下方式设置tox.ini:
[testenv]
setenv=LIBRARY_PATH=/usr/local/lib
CPATH=/usr/local/include
deps=pysqlite
这将在tox之前设置library_path和CPATH,使用pip设置virtualenv依赖项。事后一切顺利。
注意:这需要tox 0.9或更高