2014-04-23 33 views
6

PyPI'ye bir yeniyeyim ... o zaman ben de buna izin vereyim. PyPI'ye bir paket koymaya çalışıyorum ama pip ile kurmaya çalıştığımda biraz sorun yaşıyorum. Ben PyPI dosyayı yüklediğinizde, bir uyarı olsun (ama setup.py komut değil ölümcül hatalar ve 200 durumuyla bitirir):PyPI'de non.py dosyalarını nasıl eklerim?

'my_package/static/my_folder' not a regular file -- skipping 

Ve pip içine yerleştirmeye gittiğinizde o zaman, ben olsun bir hata: SO diğer yanıtlarından

"error: can't copy 'my_package/static/my_folder': doesn't exist or not a regular file. 

, ben hiçbir şans ile benim MANIFEST.in ve benim setup.py dosyaları değiştirerek denedim.

recursive-include my_package *.css *.js *.jinja2 

ve setup.py: İşte benim şimdiki MANIFEST.in olduğunu

try: 
    from setuptools import setup, find_packages 
except ImportError: 
    from distutils.core import setup, find_packages 

setup(
    name='my_package', 
    packages=find_packages(), 
    include_package_data=True, 
    platforms='any', 
    version='1.0', 
    description='my_description', 
    license='MIT', 
    author='Me', 
    author_email='[email protected]', 
    install_requires=[ 
     'Flask', 
     'Jinja2', 
     'requests', 
    ], 
    url='http://www.example.com', 
    download_url='https://github.com/me/my_package/tarball/1.0', 
    classifiers=[ 
     'License :: OSI Approved :: MIT License', 
    ], 
) 

DÜZENLEME: Ben de o şey berbat eğer sadece görmek için MANIFEST.in dosyasını dışarıda bırakarak denedim ama aynı sonucu elde ediyorum. (Talep üzerine yorum yapmaktan reposted.)

+0

Sadece iki dosya ('my_package/__ init __. Py' ve' my_package/static/a.css') ile basit bir proje oluşturduysanız, 'setup.py' ve' MANIFEST.in 'öğeleriniz iyi çalışıyor. Bildirilerinizde ek kurallarınız var mı? Sorunu yeniden üreten minimal bir proje sağlayabilirseniz iyi olur. – uranusjr

+0

@uranusjr: Bu işe yaradı. Daha sonra tüm paketi PyPI'de sildim ve hiçbir sorunla yeniden gönderildim. PyPI'nin sonunda bir şey olmalı. Sorunu etkili bir şekilde çözdüğünüz için lütfen yorumunuzu yanıt olarak gönderin ve kabul edeceğim. Teşekkürler! –

cevap

2

Kişisel kurulum komut dosyası ve MANIFEST.in çalışmalıdır.

my_project/ 
    my_package/ 
     static/ 
      a.css 
     __init__.py 
    MANIFEST.in 
    setup.py 

Çalıştır python setup.py sdist ve static/a.css ve __init__.py hem tar.gz paketi olarak paketlenmiştir olduğunu göreceksiniz: minimal örnekle kanıtlamak için.

İlgili konular