如何让Python看到通过apt安装的模块?

Val*_*pko 5 python dbus travis-ci

我正在尝试使用Travis CI来运行我的Python代码测试.

我的项目需要dbus模块,它在PyPi中不可用,所以我必须通过apt安装它.

问题是测试因ImportError失败:没有名为'dbus'的模块.这很奇怪,因为我可以在报告中看到成功安装所需的软件包.这是我的.travis.ymlTravis日志的例子.

我做错了吗?

Bur*_*lid 2

从您发布的 travis 日志来看,您的所有软件包都安装在虚拟环境中。

\n\n

虚拟环境是在干净的状态下创建的 - 因此它没有任何到系统库的链接,事实上它在文档中是这样声明

\n\n
\n

CI 环境为每个 Python 版本使用单独的 virtualenv 实例。未使用系统 Python,也不应依赖它。如果您需要安装 Python 包,请通过 pip 而不是 apt 进行安装。

\n\n

如果您决定使用 apt,请注意,Python 系统软件包仅包含 Ubuntu 12.04 LTS 上的 Python 2.7 库。这意味着即使您使用 \xe2\x80\x93system-site-packages 选项,从存储库安装的软件包在其他 virtualenv 中也不可用。

\n
\n\n

我相信它解释了你的问题:

\n\n
    \n
  1. 虚拟环境是隔离的,与系统包没有链接。
  2. \n
  3. 即使您使用 apt ,它也仅限于 Python 2.7,并且您正在尝试安装python3-软件包。
  4. \n
\n