TRAVIS SECURE ENV変数TOXで使用されていません -- python フィールド と travis-ci フィールド と tox フィールド 関連 問題

travis secure env variables not used in tox












1
vote

問題

日本語

env変数が正しくエクスポートされたことを私のTRAVISビルドログで見ることができます:

<事前> <コード> Setting environment variables from .travis.yml $ export K_API_KEY=[secure] $ export K_PRIVATE_KEY=[secure] $ export TOXENV=py27

しかし、それらは私のテストでは選択されていません。このようにenv変数を取得するためだけにvasc and config.pyファイルを使用していません( API_KEY = os.environ['K_API_KEY'] )。関連トラビスログを参照してください。

<事前> <コード> $ source ~/virtualenv/python2.7/bin/activate $ python --version Python 2.7.9 $ pip --version pip 6.0.7 from /home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages (python 2.7) install 1.34s$ pip install -U tox Collecting tox Downloading tox-2.3.1-py2.py3-none-any.whl (40kB) 100% |################################| 40kB 1.2MB/s Collecting virtualenv>=1.11.2 (from tox) Downloading virtualenv-15.0.2-py2.py3-none-any.whl (1.8MB) 100% |################################| 1.8MB 262kB/s Collecting py>=1.4.17 from https://pypi.python.org/packages/19/f2/4b71181a49a4673a12c8f5075b8744c5feb0ed9eba352dd22512d2c04d47/py-1.4.31-py2.py3-none-any.whl#md5=aa18874c9b4d1e5ab53e025008e43387 (from tox) Downloading py-1.4.31-py2.py3-none-any.whl (81kB) 100% |################################| 86kB 3.5MB/s Collecting pluggy<0.4.0,>=0.3.0 (from tox) Downloading pluggy-0.3.1-py2.py3-none-any.whl Installing collected packages: pluggy, py, virtualenv, tox Found existing installation: py 1.4.26 Uninstalling py-1.4.26: Successfully uninstalled py-1.4.26 Successfully installed pluggy-0.3.1 py-1.4.31 tox-2.3.1 virtualenv-15.0.2 $ tox GLOB sdist-make: /home/travis/build/euri10/pykraken/setup.py py27 create: /home/travis/build/euri10/pykraken/.tox/py27 py27 installdeps: -r/home/travis/build/euri10/pykraken/requirements_dev.txt py27 inst: /home/travis/build/euri10/pykraken/.tox/dist/pykraken-0.1.0.zip py27 installed: alabaster==0.7.8,argh==0.26.2,Babel==2.3.4,bumpversion==0.5.3,cffi==1.6.0,coverage==4.0,cryptography==1.3.2,docutils==0.12,enum34==1.1.6,flake8==2.4.1,idna==2.1,ipaddress==1.0.16,Jinja2==2.8,MarkupSafe==0.23,mccabe==0.3.1,pathtools==0.1.2,pep8==1.7.0,pluggy==0.3.1,py==1.4.31,pyasn1==0.1.9,pycparser==2.14,pyflakes==0.8.1,Pygments==2.1.3,pykraken==0.1.0,pytest==2.8.3,pytz==2016.4,PyYAML==3.11,requests==2.10.0,six==1.10.0,snowballstemmer==1.2.1,Sphinx==1.3.1,sphinx-rtd-theme==0.1.9,tox==2.1.1,virtualenv==15.0.2,watchdog==0.8.3 py27 runtests: PYTHONHASHSEED='2032885705' py27 runtests: commands[0] | py.test --basetemp=/home/travis/build/euri10/pykraken/.tox/py27/tmp ============================= test session starts ============================== platform linux2 -- Python 2.7.9, pytest-2.8.3, py-1.4.31, pluggy-0.3.1 rootdir: /home/travis/build/euri10/pykraken, inifile: collected 0 items / 2 errors ==================================== ERRORS ==================================== ____________________ ERROR collecting tests/test_private.py ____________________ tests/test_private.py:5: in <module> from pykraken.config import PROXY, API_KEY, PRIVATE_KEY pykraken/config.py:4: in <module> API_KEY = os.environ['K_API_KEY'] .tox/py27/lib/python2.7/UserDict.py:23: in __getitem__ raise KeyError(key) E KeyError: 'K_API_KEY'

私のTOX.INI(下記参照)は、それらの変数を選ばないがわからないが、わかりません。

<事前> <コード> dojo.connect0
英語

I can see in my travis build log that env variables are exported correctly :

Setting environment variables from .travis.yml $ export K_API_KEY=[secure] $ export K_PRIVATE_KEY=[secure] $ export TOXENV=py27 

However they aren't picked in my tests which use a basic config.py file that just should get the env variables this way (API_KEY = os.environ['K_API_KEY']), see relevant travis log:

$ source ~/virtualenv/python2.7/bin/activate $ python --version Python 2.7.9 $ pip --version pip 6.0.7 from /home/travis/virtualenv/python2.7.9/lib/python2.7/site-packages (python 2.7) install 1.34s$ pip install -U tox Collecting tox   Downloading tox-2.3.1-py2.py3-none-any.whl (40kB)     100% |################################| 40kB 1.2MB/s   Collecting virtualenv>=1.11.2 (from tox)   Downloading virtualenv-15.0.2-py2.py3-none-any.whl (1.8MB)     100% |################################| 1.8MB 262kB/s  Collecting py>=1.4.17 from https://pypi.python.org/packages/19/f2/4b71181a49a4673a12c8f5075b8744c5feb0ed9eba352dd22512d2c04d47/py-1.4.31-py2.py3-none-any.whl#md5=aa18874c9b4d1e5ab53e025008e43387 (from tox)   Downloading py-1.4.31-py2.py3-none-any.whl (81kB)     100% |################################| 86kB 3.5MB/s  Collecting pluggy<0.4.0,>=0.3.0 (from tox)   Downloading pluggy-0.3.1-py2.py3-none-any.whl Installing collected packages: pluggy, py, virtualenv, tox   Found existing installation: py 1.4.26     Uninstalling py-1.4.26:       Successfully uninstalled py-1.4.26 Successfully installed pluggy-0.3.1 py-1.4.31 tox-2.3.1 virtualenv-15.0.2 $ tox GLOB sdist-make: /home/travis/build/euri10/pykraken/setup.py py27 create: /home/travis/build/euri10/pykraken/.tox/py27 py27 installdeps: -r/home/travis/build/euri10/pykraken/requirements_dev.txt py27 inst: /home/travis/build/euri10/pykraken/.tox/dist/pykraken-0.1.0.zip py27 installed: alabaster==0.7.8,argh==0.26.2,Babel==2.3.4,bumpversion==0.5.3,cffi==1.6.0,coverage==4.0,cryptography==1.3.2,docutils==0.12,enum34==1.1.6,flake8==2.4.1,idna==2.1,ipaddress==1.0.16,Jinja2==2.8,MarkupSafe==0.23,mccabe==0.3.1,pathtools==0.1.2,pep8==1.7.0,pluggy==0.3.1,py==1.4.31,pyasn1==0.1.9,pycparser==2.14,pyflakes==0.8.1,Pygments==2.1.3,pykraken==0.1.0,pytest==2.8.3,pytz==2016.4,PyYAML==3.11,requests==2.10.0,six==1.10.0,snowballstemmer==1.2.1,Sphinx==1.3.1,sphinx-rtd-theme==0.1.9,tox==2.1.1,virtualenv==15.0.2,watchdog==0.8.3 py27 runtests: PYTHONHASHSEED='2032885705' py27 runtests: commands[0] | py.test --basetemp=/home/travis/build/euri10/pykraken/.tox/py27/tmp ============================= test session starts ============================== platform linux2 -- Python 2.7.9, pytest-2.8.3, py-1.4.31, pluggy-0.3.1 rootdir: /home/travis/build/euri10/pykraken, inifile:  collected 0 items / 2 errors  ==================================== ERRORS ==================================== ____________________ ERROR collecting tests/test_private.py ____________________  tests/test_private.py:5: in <module>     from pykraken.config import PROXY, API_KEY, PRIVATE_KEY pykraken/config.py:4: in <module>     API_KEY = os.environ['K_API_KEY'] .tox/py27/lib/python2.7/UserDict.py:23: in __getitem__     raise KeyError(key) E   KeyError: 'K_API_KEY' 

I suspect it's my tox.ini (see below) that doesn't pick those variables, but not sure, any idea ?

[tox] envlist = py27, flake8 ; envlist = py26, py27, py33, py34, py35  [flake8] max-line-length= 100 exclude= tests/*  [testenv] setenv =     PYTHONPATH = {toxinidir}:{toxinidir}/pykraken deps =     -r{toxinidir}/requirements_dev.txt commands =     py.test --basetemp={envtmpdir} 
</div
        
         
         

回答リスト

5
 
vote
vote
ベストアンサー
 

@JonrSharpeによって指されたときの解決策は、ドキュメント

<事前> <コード> ['This', 'is', 'a', 'Sentence', 'Also', 'a', 'sentence']8
 

As righlty pointed by @jonrsharpe the solution is to use the passenv option in tox.ini as described in the documentation

[testenv] setenv =     PYTHONPATH = {toxinidir}:{toxinidir}/pykraken passenv =     K_API_KEY     K_PRIVATE_KEY 
</div
 
 

関連する質問

2  Toxが1つのレポクローンで元気であるが他方ではない  ( Tox running fine in one repo clone but not the other ) 
Repo Cloneで listAllUsersOfProgram() { this.programDetailsService.findAllUsersById(this.programId).subscribe( re...

4  DEPSをインストールする前に環境変数をTOXに渡す方法は?  ( How to pass environment variables to tox before installing deps ) 
pycurlをインストールするために3 env変数が必要です。 TOXを使用すると、DEPSのインストールコマンドが実行される前にenv変数をTOX環境に渡すことはできません。 setenv passenv を使用してみましたが、どちらもインストールが...

0  SWIG、Python、およびUnicode文字列  ( Swig python and unicode strings ) 
SWIGを使用してPythonモジュールを開発しています。 私は次のようなタイプマップがあります: <事前> <コード> %typemap(in) MyStringType { char* buffer = 0; size_t size = ...

1  Pyenv Pythonインタプリタを使用していないのはなぜですか?  ( Why is tox not using pyenv python interpreter ) 
My pyenv はPython 3.7を使用しています。 envlist = py37 を持つプロジェクトでTOXを実行している場合は、<コード> setup.py と失敗した: <事前> <コード> Traceback (most recent cal...

1  setup.pyの呼び出し関数(TOXを使用)  ( Calling function in setup py using tox ) 
他のファイルに関数を呼び出すには、 setup.py が必要です。私はこれを知っています。のような cmdclass の設定によって行うことができます。 <事前> <コード> import my_module class Install(_install):...

0  TOX:jythonとpypyをtoxから呼び出すことはできません  ( Tox cannot invoke jython and pypy through tox ) 
Python2.7、Pypy、およびJythonをTOXテストから呼び出してみましょう。 テストはPython 2.7で完全に機能しますが、PypyとJythonのImport - またはAssertationErrorを常に上げます。私は疑似エラーレポー...

0  Packageバージョンの変更時にTOXがConsole_Scriptを再インストールするために取得します  ( Getting tox to reinstall console scripts when package version changes ) 
tox を使用して、マイ<コード> setuptools ベースの setup.py スクリプトで定義されているスクリプト入力ポイントを持つモジュールをテストしています。 <コード> <a href="#" class="foo bar <%= "hidd...

5  BootStrapスクリプトをToxのVirtualenvに追加する方法  ( How to add a bootstrap script to toxs virtualenv ) 
私のテストのためにpsycopg2とlxmlが必要ですが、私がTOXを介してVirtualEnvにインストールしようとすると、PG_CONFやその他の依存関係が欠けているため失敗します。 このブートストラップスクリプトの説明を見つけました: http:// w...

0  Doctestで条件付きでファイル全体をスキップします  ( Skip a whole file conditionally with doctest ) 
F文字列を使用して、Sphinx <コード> .rst ファイルを書きました。 TOXを使用して、プロジェクトとマニュアルをいくつかのバージョンのPythonでテストし、 pytest --doctest-glob='*.rst' でテストを実行するためのP...

14  FLAKE8 / PYLINTはTOXテスト環境で失敗し、InvocationErrorを調べます。  ( Flake8 pylint fails in tox testing environment raises invocationerror ) 
私のPythonプロジェクトのTOXでテストする方法について学んでいます。 私は、次のようなかなり標準のTOX初期化ファイルを持っています。 <事前> <コード> [tox] envlist=py27,flake8 ... [testenv:flake8] ...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有