2013-04-05 7 views
7

(setup.py) kullanılarak başka bir pakete bağlı olarak yüklenecek bir mycode python paketi oluşturmak istiyorum base. Ben setup.py instructions izleyin bu paket bağımlılığı incoporate ve okur setup.py arasında setup işlevinde bir giriş yaratmış için: Ben python setup.py sdist ile paketi oluşturduktan sonraSetup.py'de açık python paketleme bağımlılıkları nasıl belirlenir?

'requires': ['base'] 

, ben, pip install yoluyla yüklemeye çalıştı hangi başarıyla mycode yüklü ama base'dan hiçbir şey. setup.py'daki requires girdisi yoksayıldı gibi görünüyor.

Herhangi bir fikir yanlış giden nedir?

cevap

10

Bunun yerine install_requires belirtmeniz gerekir, bkz. New and changed setup keywords.

requires alan

çok belirsiz ve kesin olmayan, yani ( pip gelişti hangi nedenle easy_install) setuptools halk daha özel alanlar eklendi. Ayrıca, setup.py için gerekli bağımlılıklar için setup_requires ve test_requires alanları ve koşu testleri için vardır.

+0

Bu işe yarıyor! Fakat bu, bağladığım belgelerin kullanılabilir olmadığı anlamına mı geliyor? Bu 'resmi' bir dokümantasyonun parçası değil mi? – Alex

+0

'pip',' setuptools' paketinin evrenini izler. 'Setuptools'un 'dağıtma' çatalı [iyi dokümantasyon] (http://pythonhosted.org/distribute/) ve daha sonra [Otostopçuları Paketleme Kılavuzu] 'na (https: // o-otostopçu-kılavuz -packaging.readthedocs.org/en/latest/) de. –

+0

Ama, evet, 'distutils' belgelerini 'distutils' için doğru, ama 'distutils'' setuptools' tarafından geride bırakılmıştır. Bunu düzeltmek için yapılan çalışmalarda bir "distutils2" var/var ama bu çaba şu anda durdu, sanırım. –