如何将自定义依赖项添加到 Click 包

Nav*_*een 17 ubuntu-sdk click-packages

我的 Ubuntu touch 应用程序需要一个包libqt5network5来运行。(这可以通过 APT 安装。)

一旦我从 Ubuntu SDK 构建 Click Package 并安装,它就不会检查libqt5network5依赖项。

我想知道如何向 Click 包添加依赖项。

小智 1

点击打包格式完全独立于进行全系统安装或升级的工具。目前,该包应保持与Python 2.7、3.2、3.3和3.4兼容;Ubuntu 12.04 LTS、Ubuntu 13.10 和 Ubuntu 14.04 LTS。如果您从新的 bzr 签出运行,请首先通过运行以下命令确保您具有所需的构建依赖项

\n\n
$ dpkg-checkbuilddeps\n
Run Code Online (Sandbox Code Playgroud)\n\n

然后运行:

\n\n
    $ ./autogen.sh\n    $ ./configure --prefix=/usr \\\n        --sysconfdir=/etc \\\n        --with-systemdsystemunitdir=/lib/systemd/system \\\n        --with-systemduserunitdir=/usr/lib/systemd/user\n    $ make\n    to build the project.\n
Run Code Online (Sandbox Code Playgroud)\n\n

依赖项
\n对于 Ubuntu 14.04,请确保安装了 python2.7 和 python3.4 软件包。除非您从以前版本的 Ubuntu 升级并且尚未删除它,否则您将无法使用 Python 3.3 和 Python 3.2。如有必要,从源代码构建它们,将它们安装到 中/usr/local,并确保它们位于您的$PATH. 你\xe2\x80\x99需要安装tox(Ubuntu软件包python-tox)才能运行完整的测试套件。你应该可以说。

\n\n
$ tox\n
Run Code Online (Sandbox Code Playgroud)\n\n

运行完整的套件。使用 tox\xe2\x80\x99s -e 选项针对 Python 版本的子集运行测试。您不应该\xe2\x80\x99t必须手动将任何内容安装到tox创建的虚拟环境中,但如果您没有\xe2\x80\x99t在系统中安装所有依赖项,则可能必须这样做

\n\n
\n

你\xe2\x80\x99将需要mock和python-debian库。对于 Ubuntu 13.10,\n apt-get 安装以下软件包:

\n\n
    \n
  • 蟒蛇模拟
  • \n
  • 蟒蛇 debian
  • \n
  • python3-debian
  • \n
\n
\n\n

测试
\n安装完上述所有内容后,您可以运行 tox 以针对所有受支持的 Python 版本运行测试套件。这些./run-tests脚本只是进行额外的检查,以确保您\xe2\x80\x99 已经构建了预加载共享库。要运行特定的测试用例,请使用标准的 python 单元测试。

\n\n

语法如下:

\n\n
$ python3 -m unittest click.tests.test_install\nor:\n\n$ python2 -m unittest click.tests.test_build.TestClickBuilder.test_build\n
Run Code Online (Sandbox Code Playgroud)\n\n
\n

测试覆盖率 如果您安装了 python-coverage,则可以通过键入以下命令来获取\n Python 测试覆盖率报告:

\n\n
$ python-coverage combine \n$ python-coverage report \n
Run Code Online (Sandbox Code Playgroud)\n\n

这也适用于 python3-coverage。

\n\n

要获取 Vala/C 覆盖率信息,请安装 gcovr 和 lcov\n 软件包并运行:

\n\n
$ ./configure \xe2\x80\x93enable-gcov \n$ make coverage-html \n
Run Code Online (Sandbox Code Playgroud)\n\n

这将为您生成\n \xe2\x80\x9ccoveragereport/index.html\xe2\x80\x9d 文件。

\n\n

综合覆盖范围信息可以通过以下方式获得:

\n\n
$ make coverage.xml\n
Run Code Online (Sandbox Code Playgroud)\n
\n