2012-11-15 9 views
5

Ich habe ein ns.pkg2 Paket, das auf ns.pkg1 Paket abhängt. Ich mache eine Abzweigung davon, veröffentliche es auf git und möchte meine Version in mein virtualenv installieren. Ich benutze pip install -e mygit und am Ende mit ns.pkg in <env>/local/lib/python2.7/site-packages/ns/pkg1 und ns.pkg2 in <env>/src/ns.pkg2 mit einem <env>/lib/python2.7/site-packages/ns.pkg2.egg-link. Jetzt kann ich ns und ns.pkg1 aber nicht ns.pkg2 importieren. Ich konnte keine Möglichkeit finden, ein Paket von git ohne pip install -e zu installieren, das setup.py develop aufruft. Außerdem bin ich nicht sicher, dass es kein Problem mit dem Modulcode ist.Namespace Pakete und Pip installieren -e

Also, ist es möglich, zwei Module aus dem gleichen Namespace von einem Tarball und direkt von Git zu installieren?

+0

was bedeutet das '__init __ py' von dir 'pkg2' aussehen? sollte ähnlich sein wie hier beschrieben [http://stackoverflow.com/questions/1675734/how-do-i-create-a-namespace-package-in-python] – mata

+1

@mata 'pkg_resources.declare_namespace (__ name__) ' – wRAR

Antwort

5

Es ist eine offene Frage in pip im Zusammenhang mit --editable und Namensraum-Installationen: https://github.com/pypa/pip/issues/3

A workaround was merged, und vielleicht können Sie Ihr Problem lösen, indem Sie:.

$ pip install -e mygit --egg 
+0

Sie helfen mir, wirklich langfristiges Problem zu lösen (ich hoffe, es ist gelöst). Mit 'pip' habe ich mein namespaced Paket von pypi installiert. Und mit Buildout habe ich an der Entwicklung von Paketen gearbeitet, die denselben Namespace teilen. Irgendwann bekam ich Probleme mit dem Import meines entwicklungsbasierten Pakets, es wurde als vermisst gemeldet. Lösung für jetzt? I ** Installiere namespaced Paket von pypi mit easy_install und nicht pip **. Nach dieser Änderung kann ich meine entwicklungsbasierte importieren. Danke für deinen Link. –

Verwandte Themen