5

トキシコロジー マッピング プロジェクトの一環として Travis CI を使用しています。このプロジェクトでは、依存関係として python-openbabel が必要です。そのため、以下に示す apt-get インストーラーを .travis.yml ファイルに追加しました (コメントは削除されました)。

language: python
python: 
  - "2.7"
before_install:
  - sudo apt-get update -qq
  - sudo apt-get install python-openbabel
install: "pip install -r requirements.txt"
script: nosetests tox.py

ただし、これらの試行はすべて失敗し、エラー メッセージが表示されError: SWIG failed. Is Open Babel installed?ました。インストールするアプリケーションのリストに SWIG を追加しようとしましたが、役に立ちませんでした。

さらに、Openbabel 自体によって提案されたビルド プロセス全体を追加しようとしました。これにより、次の travis.yml が生成されます。

language: python
python: 
  - "2.7"
before_install:
  - sudo apt-get update -qq
  - sudo apt-get install python-openbabel
  - wget http://downloads.sourceforge.net/project/openbabel/openbabel/2.3.1/openbabel-2.3.1.tar.gz?r=http://%3A%2F%2Fsourceforge.net%2Fprojects%2Fopenbabel%2Fopenbabel%2F2.3.1%2Fts=1393727248&use_mirror=switch
  - tar zxf openbabel-2.3.1.tar.gz
  - mkdir build
  - cd build
  - cmake ../openbabel-2.3.1 -DPYTHON_BINDINGS=ON
  - make
  - make install
  - export PYTHONPATH=/usr/local/lib:$PYTHONPATH
install: "pip install -r requirements.txt"
script: nosetests tox.py

ダウンロードしたファイルを解凍しようとすると、これは失敗します。

失敗したビルドはすべて Travis-CI で確認できます: https://travis-ci.org/ToxProject/ToxProject
Github リポジトリはこちら: https://github.com/ToxProject/ToxProject

python-openbabel簡単に言うと、Travis-CI を使用するにはどうすればよいですか?

4

2 に答える 2

1

pip インストール要件の段階でビルドが失敗するようになりました。Travis は、python を実行するための仮想環境を作成します。デフォルトでは、システムに (apt-get 経由で) インストールされた python パッケージは、travils.yml に追加しない限り利用できません。

virtualenv:
      system_site_packages: true

python-qt4 と python-qgis で同じ問題が発生しました。最近使用した travis.yml ファイルは次のとおりです: https://github.com/anitagraser/TimeManager/blob/master/.travis.yml

于 2015-02-05T09:08:18.043 に答える
1

apt-get 経由でインストールされた openbabel のバージョンは 1.7 ですが、requirements.txt の setup.py で指定されているバージョンは ですopenbabel>=1.8このmakeにより、apt-getによってインストールされたパッケージが満たさrequirements.txtれなくなり、インストールされている古いバージョンのopenbabelに関係なく、pipがインストールしようとします。また、virtualenv は既にインストールされているシステム パッケージを使用しません。

また、openbabel を pip 経由でインストールする場合、自動的にインストールされるlibopenbabel、含まれていないヘッダー ファイルが必要です。libopenbabel4python-openbabeltravisCI が使用する ubuntu 12.04の のバージョンはlibopenbabel-dev、 のニーズを満たしていませんopenbabel==1.8

解決:

の新しいバージョンを手動でインストールlibopenbabel-devlibopenbabel4ます。

before_install:
  - sudo apt-get install -qq -y swig python-dev
  - wget http://mirrors.kernel.org/ubuntu/pool/universe/o/openbabel/libopenbabel4_2.3.2+dfsg-1.1_amd64.deb
  - sudo dpkg -i libopenbabel4_2.3.2+dfsg-1.1_amd64.deb
  - wget http://mirrors.kernel.org/ubuntu/pool/universe/o/openbabel/libopenbabel-dev_2.3.2+dfsg-1.1_amd64.deb
  - sudo dpkg -i libopenbabel-dev_2.3.2+dfsg-1.1_amd64.deb
于 2015-02-05T03:07:22.843 に答える