配置 .travis.yml 以支持 mysql-connector-python

Posted

技术标签:

【中文标题】配置 .travis.yml 以支持 mysql-connector-python【英文标题】:Configure .travis.yml to support mysql-connector-python 【发布时间】:2016-09-06 04:50:05 【问题描述】:

我在 TravisCI 上使用 python 2.7.11,我想配置 TravisCI 以使其正常工作。但是 travis CI 失败了

import mysql.connector

我已经尝试添加

pip install mysql-connector-python==2.1.3 --allow-external mysql-connector-python 

到我的 .travis.yml。然而,travisCI 报告说

--allow-external

已弃用且无效。如果我删除它

--allow-external

它仍然失败。此外,无论我将其更改为哪个版本,也永远不会安装 mysql-connector-python。

有谁知道我如何配置我的 .travis.yml 以使 TravisCI 与 mysql.connector 一起工作?

这是完整的文件:

language: python
python:
- 2.7.11
install: pip install pymongo Flask flask-cors tornado coverage codeclimate-test-reporter ddt mysql-connector-python==2.1.3
script: 
- python -m unittest discover tests
notifications:
  slack:
    secure: BfAdqax8+zJtKeAOiQyfpOzoYIzmpYIfNFyHxp04mZ79YS6N2NIFAJfkjsqCLw0qC4acjmX4Dy1VTIFylwgqB9tcDBDGX12AJar8llfzsQOheA1mo6dxEC7m4EJ9H7vXnCu78z8PvNta52IPg6JNSg4qnppQ96QoJitsZau1N78ItsdXmFiWv8z/7db+s71sUvLWJ/iTZ0J9KjcYA/YVlBnCDH76K4YuXp5GxH45310kmhTNb31PKhpGAl93pq6ayjV2HoDaSO+jbW70xuL6CR34MAislVmQYItfpmMVCY77I/GKzgt/wk0Rznhh1G8xofS1z3peYOgVgSI0SQ0hL2v9pieqJK7Mlmovm1SfuUG394HKan7mUzUvdCzvsC6wv4gRImrbwKB51eEM+TAICG2OxwIRZslY5sehVwT67YLf5p5Hzrjo7LL5G+0XZOe3IsQP/6MrSaCBC5V0FxoIKJnnOpNHvHJq+Ku3wUTLKobzc0pbgdJ73E3DM9BSQ6sq087qRT6YRWI1WbasZ6puvgs92wtuGFRrsMGqQ3sreorlN6rYsMu7dv8pJs4+sBn1lA8/P2BzvyRlbSTTCjfCAqNqXGiEXfunN/BkRn8HnA1x/P6LmItwZUXtv7LzQIRvtJxGyc3Sg0krRqBG2Urka6uepJjc7Sd0PMPSjxzzy+I=
addons:
  code_climate:
    repo_token:
      secure: h19Nm48/J3+BGrfiG90hgmUaA/oiIYxTpFutQYB8Dm7SV9RHW02ypvpS8B81Ne4WxHZE1DmrO1KUqEQ3j2IH27gjidwci32Wjuv7C8ikOzQ/F0lFt0ydkKQH1NZJQCqQJOYnJSiM95fRKQOWgK0pM2et/5m3Pr9fXnffKYaE2Yhv+zKbcy0wmCiT8n1aMgxs714KcMAcqR1kptEid122ORssawzfkJBewM6Z6RXlUq8EeU86UIllk5eBPMCUso7BSEWl6jptjeyWGo/6/NkE06+XBSkvM5VEdAAA0rUh3n41SZVWo0SegFmE+HZegjE6w76XWcTrbVLZNTSN1jqdZTaPhq+9TB0OqGJp28bziYkVxY9Z2Yd0OacyGlGmdBwkrIEtmA0Wjiubbx96P95m3AEwYJlyYWxUGV8HSJFn1pH9KMb6Ewc+/rCeA5o4f8+r098aqtnNNzxpWaxAn0Up//GVPlH74SiyfHMrd/+uTFC9TCtAazHq4GLiJrESoVaapXTY9XabIGE205NxfQ6PIRPfsFjK0cH5BR0ZkJt5EspEHc7HgAIn0kotuJYgAJ64hcfOimeSTDBSBn138TDJTscTjpZrOl0LYXChhcuTH2MOx2nS/4miKHteFW8mOSuoVaunQHt9+8HDlRrD8n48lm/qYkh8jG1UnPBW7iqKxtI=

【问题讨论】:

你能发布你的整个.travis.yml吗? 或更多.travis.yml上下文?我会在您发布的线路上添加install: 前缀吗? 另外,您是否尝试过使用docs.travis-ci.com/user/languages/python#Dependency-Management 中提到的requirements.txt?这适用于您的用例吗? ...刚刚添加了完整的 .travis.yml 文件来提问...我不确定简单地放置 mysql-connector-python 会有什么不同。 【参考方案1】:

在我看来 2.1.2 可能不在 PyPI 上托管:https://pypi.python.org/pypi/mysql-connector-python 仅显示 2.0.4 和 1.x。

I cannot install mysql-connector-python using pip 让我相信包维护者可能没有正确地发布到 PyPI。

尝试用已知的工作包下载 URL 替换包名称?例如。 https://cdn.mysql.com/Downloads/Connector-Python/mysql-connector-python-2.1.2.tar.gz? (截至撰写本文时,最新的是 2.1.3 - 可能也可以通过 CDN 获得。)

或者,尝试降级到 2.0.4 - 它在 PyPI 上:https://pypi.python.org/pypi/mysql-connector-python/2.0.4。

【讨论】:

谢谢!我没有意识到我可以将 URL 与 pip install 一起使用......这是我的 .travis.yml 更新的行。这有效:安装:pip install pymongo Flask flask-cors tornado coverage codeclimate-test-reporter ddt cdn.mysql.com/Downloads/Connector-Python/… 不客气。感谢您确认修复工作 - 应该有助于未来的 Travis CI Pythonistas!

以上是关于配置 .travis.yml 以支持 mysql-connector-python的主要内容,如果未能解决你的问题,请参考以下文章

使用 Travis CI 配置 Mysql 5.7

向 .travis.yml 文件添加更多配置后,TravisCI 没有运行

如何使用 travis ci 配置 SSH 连接?

Travis.yml ./gradlew:权限被拒绝

pypi 包装和秘密:为啥 github--intended .travis.yml 保存密码?

基于 Cocoapods 的 iOS 项目的示例 .travis.yml