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

标签 python tox

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

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

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

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

感谢您的帮助!

最佳答案

tl;dr:将 setuptools 升级到最新版本,所有这些目录都将创建在单个 .eggs 目录中,而不是项目的根目录中。 (可能大于 7.0 就足够了。)

说来话长

最近从使用 Python 2.7 运行 tox 转向使用 Python 3.4 运行它后,我遇到了同样的问题。谷歌搜索显示了这个 tox.ini其中包含此依赖项规范:

 setuptools>=7.0  # to avoid .egg directories

对于 2.7,我不记得曾经与 .egg 目录作斗争。我检查了 2.7 安装中的 setuptools 版本,发现是 14.3。我检查了 3.4 安装中的内容并找到了 5.5.1(哎呀!)。在我的 3.4 安装中升级到 14.3 后,我唯一得到的是一个 .eggs 目录,其中包含所有目录,否则这些目录将全部位于我的项目的根目录中。

我可以接受单个 .eggs 目录。

关于python - 如何防止 tox 生成一堆 .egg 目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27178548/

相关文章:

python - tox如何在pip install中提供可信主机?

python - 如何使用 Pandas 从 CSV 文件夹生成自定义主数据框?

python - 在mysql数据库的单个单元格中插入python字典

python - 将 tkinter GUI 与不同模块中的函数链接

Python Socket - 同时发送/接收消息

python - 如何针对多个 Python conda 环境运行 Python 测试?

python - 在 Mechanize 打开方法中获取 urllib2.URLError : <urlopen error EOF occurred in violation of protocol (_ssl. c:661)>

python - Tox、lib、lib64 和站点包

python - tox 下的测试不一定使用已安装的代码

python - 使用 tox 安装可选的依赖项