Aynı modül adı kullanılarak içe aktarılması gereken iki Python modülüne rastladım.Python modül adı çakışması
import foo
ben bu işlevleri sağlar birini bulana kadar bu yüzden bir yol aynı adla modüllerin arasında geçiş yapmak için orada, İstediğim (örn foo.bar()
) belirli işlevleri sağladığını biliyor musunuz? Yoksa kurulumdan önce modülü yeniden adlandırmaktan başka yolu yok mu?
Düzenleme: Ne demek istediğimi açıklamak, her iki modül içindeki site paketleri şunlardır:
site-packages$ ls python_montage-0.9.3-py2.6.egg
EGG-INFO montage
site-packages$ ls montage-0.3.2-py2.6.egg/
EGG-INFO montage
Modül adınızı yeniden adlandırmanıza izin vermeyen hiçbir şey yok mu? çünkü bildiğim kadarıyla bu sorunu çözmenin kolay bir yolu var :) – mouad
Bu modüller nerededir, yol bilgisi? Site-paketleri dizininizde ve geçerli dizinde (içe aktarma dosyasının) bir tane var mı? Bu durumda belirsizlik problemini çözmek için mutlak ithalatı kullanabilirsiniz. üst düzey modülü adıdır çünkü aynı olduğunu ben bunu yapabileceğimi sanmıyorum –
Her iki modül site paketleri dizininde biri içerde Bunu açıklığa kavuşturmak için soru. __import__' 'için – astrofrog