2016-05-05 9 views
2

Ich habe ein Paket erstellt, dessen Struktur hier angegeben ist.warum nicht pip installationspaket wenn tox verwenden?

packagename 
    -- packagename 
     -- __init__.py 
    -- setup.py 

Das Paket korrekt installiert und ich habe mit 'pip freeze'

Ich versuche tox mit diesem Paket in einem anderen Modul zu verwenden

tox.ini

[tox] 
    envlist = dev 
[default-dependencies] 
    deps = packagename 
[testenv:dev] 
    deps = {[default-dependencies]deps} 
    pip_pre=True 
    ignore_errors=True 
    commands = py.test blah 

wenn Ich versuche dies unter Verwendung

tox -e dev 

Ich erhalte diese Fehlermeldung

Collecting packagename 
Could not find a version that satisfies the requirement packagename (from versions:) 
No matching distribution found for packagename 
v = InvocationError('/Users/***/.tox/dev/bin/pip install --pre dlb_dcp_csaf') 

aber alles ist gut, wenn ich wie dieses

pip install --pre packagename 

ich die pip Version für beide

pip 8.1.1 from /usr/local/lib/python2.7/site-packages (python 2.7) 
pip 8.1.1 from /Users/***/.tox/dev/lib/python2.7/site-packages (python 2.7) 

jemand bitte helfen kann geprüft installieren warum Ich konnte das Paket nicht mit tox installieren, kann es aber manuell installieren?

Antwort

1

Basierend auf der Ausgabe des Befehls tox sieht es so aus, als hätten Sie nicht den korrekten Pfad zum Paketnamen angegeben, und daher versucht tox, auf PIP-Servern nach ihm zu suchen. Sie müssen den korrekten Pfad zum Paketnamen angeben, der sich auf das Verzeichnis bezieht, in dem sich Ihre tox.ini befindet.

Von: http://testrun.org/tox/latest/config.html

deps=MULTI-LINE-LIST 
test-specific dependencies - to be installed into the environment prior to 
project package installation. Each line defines a dependency, which will be  
passed to the installer command for processing. Each line specifies a file, 
a URL or a package name. 

...

(Experimentally introduced in 1.6.1) all installer commands are executed 
using the {toxinidir} as the current working directory. 

{toxinidir} 
the directory where tox.ini is located 
0

tox das Paket installieren Sie (das heißt ./setup.py) selbst sind testen, keine Notwendigkeit, das zu deps hinzufügen.

+0

Es installiert das Paket, das ich testen. Das Paket, das ich testen möchte, hat jedoch eine Abhängigkeit von einem anderen Paket, das ich erstellt habe. Tox findet das Paket nicht. – user1429322

Verwandte Themen