【问题标题】:Prevent Travis Python environment from pre-installing packages防止 Travis Python 环境预安装包
【发布时间】:2016-09-19 21:37:18
【问题描述】:

有没有办法防止Travis Python环境预装pytestnosemock等?版本较旧,升级时会导致与订单相关的问题。我只想在setup.py 中指定我的依赖项,但是pytestpy 需要相互升级,这似乎总是失败。

我看到.travis.yml 有一个virtualenv 键,有时会简要提及,但我没有看到适当的文档。

【问题讨论】:

  • 您提供requirements.txt 文件吗?您遇到了什么问题?
  • 不,我只想在setup.py 中指定。在setup.py 中为具有相互依赖关系的包指定版本会导致冲突。在干净的环境中安装这种方式没有问题。
  • 为什么不想使用约定?有什么冲突?再次,你能提供一个更具体的问题吗?我在 Travis 上使用 requirements.txtsetup.py 运行项目时没有遇到这些冲突。
  • pytest 需要升级,这需要py 升级。但是py需要升级pytest。我相信setuptools 一次只做一个,所以这不可能发生。问题是如何从一个干净的环境开始(以及是否有任何关于 virtualenv 键的文档。

标签: python pip travis-ci setup.py


【解决方案1】:

我没有找到一种方法来做到这一点,但我找到了一个相对干净的解决方法:virtualenvwrapper.sh 有一个我以前不知道的wipeenv 命令。所以现在我像这样设置一个“现代而干净”的虚拟环境:

before_install:
  - pip install -U pip setuptools virtualenvwrapper
  - source $(which virtualenvwrapper.sh)
  - wipeenv

我不必担心包的确切列表或它们与我自己的交集,install/script 部分可以不受 Travis 为我设置的任何阻碍。

【讨论】:

    猜你喜欢
    • 2018-05-13
    • 2020-01-24
    • 2020-08-18
    • 2019-01-20
    • 1970-01-01
    • 2021-02-11
    • 2015-11-16
    • 2020-01-06
    • 1970-01-01
    相关资源
    最近更新 更多