问题标签 [tox]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
297 浏览

pip - 项目结构。科学 Python 项目

我正在寻找一种更好的方式来构建我的研究项目。我有以下设置:

有项目abc图书馆lib。每个项目处理一个不同的研究问题,并且该库包含跨项目使用的代码。因此所有项目都依赖于lib. c由于项目依赖于项目a,事情变得更加复杂b。当我在项目上工作时c,我也会更新ab或者lib同时更新。每个项目都在一个单独的 git 存储库中。

到目前为止,我已经通过包含上面的依赖项来处理这种情况,git submodule并且所有源文件都位于项目的根目录中。优点是我可以跟踪lib我的项目所依赖的版本。此外,我的一个项目可能依赖于过时版本的lib. 我从根目录运行所有内容,而不将任何包“安装”到站点包左右。当路径设置不正确时,我通过sys.path.insert.

但是,以下几点让我想更改布局:

  • lib我一直忘记我正在编辑哪个版本。
  • 我想使用自动化测试工具(tox、jenkins 等),使用标准项目设置似乎更容易处理。
  • sys.path.insert可能会导致难以调试的细微问题。
  • 我通常希望我的所有项目都能使用lib

因此,我目前正在重新安排所有项目(特别是lib)以符合标准 Python 目录结构(源存储在子目录中,根目录包含一个setup.py文件),以便能够在virtualenv. 然后我可以在requirements.txt. 首先,我lib通过 pip install -e 安装为开发。然后我运行 pip freeze > requirements.txt ,其中包含与此类似的行。

因此,我再次生成了对特定提交(sha)的依赖项git submodule,确保我可以签出旧提交并且项目应该运行。我现在可以在 a 中安装所有东西virtualenv并摆脱我的路径问题。伟大的。

不过,我面临一些新的麻烦。一个问题是,如何更新requirements.txt. 我看到的最简单(但可能不是最优雅)的解决方案是编写一个pre-commit hook在提交之前更新 sha 的解决方案。有没有更好的办法?

更一般地说 - 给定我的设置,您是否看到更好的解决方案?

0 投票
1 回答
1499 浏览

linux - 在 tox 命令中使用通配符

由于不同的原因,我必须在我的 tox.ini 中将 pip install 作为命令执行(我这样skipsdist=True做 tox 不会为我安装我的依赖项,但我仍然需要将其中一些安装到虚拟环境中)。

问题是我有一个本地依赖项存储为一个 tarball,它的文件名中有它的版本,例如my-module-1.0.tar.gz. 因此,我需要在命令中使用通配符,例如

但是 tox 在这个意义上似乎不支持 bash 语义,因为我得到了错误

我尝试在文件名周围加上引号以及转义星号,但没有成功。

有任何想法吗?

0 投票
1 回答
15305 浏览

python - 如何在 Windows 上从 tox 中的二进制文件安装 pywin32?

我的应用程序依赖于我通过 Windows 二进制文件安装在系统环境中的 pywin32。如何在 Windows 上从 tox 中的二进制文件安装 pywin32 之类的模块?

0 投票
1 回答
507 浏览

python - 如何防止 tox 生成一堆 .egg 目录?

每当我运行 tox 时,我的存储库目录都会被 .egg 目录丢弃。这些显然是我的库所需的依赖项,需要安装在每个虚拟环境中,但我不想看到它们。我不确定他们为什么不在 .tox 目录下...

我没有在网上看到任何关于此的提示,所以我的问题是:

  • 有没有办法阻止这些目录首先出现?
  • 如果没有,是否有一种简单(自动)的方法可以在运行 tox 后清理所有这些目录?

这是我的一个有此问题的 Python 库的示例:https ://github.com/joshvillbrandt/goprohero

谢谢你的帮助!

0 投票
1 回答
775 浏览

python - 无法从 install_requires 安装依赖项

我想在我的以下依赖项setup.py

pcapy不能使用加载tox

无论解决方案是什么,这始终是同一个问题。

默认情况下,它不想从 pypi 加载 0.10.3 版本(请参阅下面的 pip 日志)。

如果我使用指向 github 上最新版本的dependency_links,

返回相同的 pip 日志。

任何想法 ?

PS1:PIP 使用 followiçng 命令调用tox

PS2:PIP 日志错误

0 投票
1 回答
6376 浏览

python - 为什么我的 virtualenv 找不到 distutils.sysconfig?

我刚刚创建了一个使用测试驱动开发构建的 Python 项目。我当然看到了它的价值,我期待着进一步利用它。

我已经tox.ini使用pyenv. 运行tox -r,我最终遇到了 2.6 的以下问题(我还有其他问题,但我可以解决):

显然,与尝试调用virtualenv. 回溯似乎表明它与缺少模块有关,但那些应该在标准库中,即使在 2.6 中也是如此。

有趣的是,虽然如果我运行python2.6并尝试import distutils.sysconfig它会失败。另一方面,如果我切换到那个版本pyenv shell 2.6.9并尝试同样的事情,它工作正常。

我错过了什么?

FWIW,我在 Ubuntu 14.04 上并且:

0 投票
1 回答
1049 浏览

python - 如何在 ubuntu 14.04 上设置 python3.2 以进行 tox 测试?

尝试在推送之前使用 tox 运行测试,但我一直遇到如下错误:

apt-cache search 没有提供任何看起来会有所帮助的软件包。您如何为 ubuntu14.04 加载所有这些版本的解释器?

0 投票
1 回答
2846 浏览

python - 尝试运行命令“sudo tox”时出现 Tox 调用错误

在 virtualenv [3.4] 中工作时,当我遇到错误时,我试图运行 tox 来运行测试:

我已经尝试使用 pip install nose2 安装nose2,但问题仍然存在。

0 投票
1 回答
503 浏览

python - Tox:仅在某些平台上运行测试

我的测试部分tox.ini只能在 Windows 上运行。

如何配置 tox 以仅在特定平台上运行测试部分?

0 投票
1 回答
2921 浏览

python - Python/tox 将依赖项安装为可编辑

tox.ini中,您指定希望 tox安装在它创建的 virtualenvs 中的包。

此示例告诉 tox 在运行测试之前将 mock 和 pytest 安装到每个 virtualenv 中。Tox 将使用 pip 从 PyPI 安装这些依赖项。

如何pip install -e从本地结帐而不是从 PyPI 告诉 tox 一个依赖项?我仍然希望从 PyPI 安装其余的依赖项。