2014-12-17 23 views
12

Aynı ada sahip iki python paketi kullanıyorum.Çakışma adları olan python paketleri nasıl kullanılır?

çakışan adları ile iki paket yükleme işlemek için kurallı ya pythonic yolu var mı ? Şimdiye kadar, zaman zaman geliştirme/bina sırasında paketlerden birine ihtiyacım vardı, bu yüzden çatışmayla başa çıkmak için ayrı bir virtualenv kullanıyorum, ancak yapım adımını daha karmaşık hale getiriyor ve eğer bir Bunu işlemek için daha iyi bir yol.

+2

Virtualenv en iyi yoldur bence. –

cevap

2

Sen farklı bir konuma pip için --target seçeneğini kullanın ve yükleyebilir böyle olduğu ad bir ithalat yapmak:

import alembic # alembic.io version 
from alt_alembic import alembic as alt_alembic # pip version 

o zaman alt_alembic.fu çağırabilir o birine çağrı yapmaya yaparken nction() ve PyPi içinde olmayana, alembic.function() Hedef yolum/tmp/test sanal env kullanırken kullanıyor. Bu yolu python yüklemeniz için doğru olanla değiştirmeniz gerekir.

-1

mutlak ve göreli içe aktarma hakkında. Eğer python aldığınızda

pip install --target=/tmp/test/lib/python3.6/site-packages/alt_alembic alembic 

Sonra her zamanki gibi ilk yapmak ve alt için:

https://docs.python.org/2/whatsnew/2.5.html#pep-328-absolute-and-relative-imports

+3

Göreceli ithalatlar kullanılarak iç ** modülü ** veya ** alt paketi ** üst düzey diğer modüller ve paketlerle çakışır, ancak iki üst düzey paketin aynı şekilde adlandırılmasında yardımcı olmaz. –

+0

sonra virtualenv kullanmalıyız – Cedar

İlgili konular