2013-03-25 32 views
1

我試圖建立我的相當簡單的Python項目,以便:setuptools的:文件dynamic_dynamodb.py(用於模塊dynamic_dynamodb)未找到

  • 系統範圍的命令dynamic-dynamodb安裝
  • 該命令分dynamic_dynamodb.main:main

我的項目是這樣的:

. 
├── LICENSE 
├── MANIFEST.in 
├── Makefile 
├── README -> README.md 
├── README.md 
├── dynamic_dynamodb 
│   ├── __init__.py 
│   ├── dynamic_dynamodb.py 
│   └── main.py 
├── example-dynamic-dynamodb.conf 
├── requirements.txt 
└── setup.py 

當我在根文件夾中只有一個Python文件時,它能夠正常工作。但是當項目增長時,我不得不拆分代碼並將其放入一個模塊(即文件夾dynamic_dynamodb)。現在我setup.py看起來是這樣的:

""" Setup script for PyPI """ 
from setuptools import setup, find_packages 


setup(name='dynamic-dynamodb', 
    version='0.3.0-SNAPSHOT', 
    license='Apache License, Version 2.0', 
    description='Automatic provisioning for AWS DynamoDB tables', 
    author='Sebastian Dahlgren', 
    author_email='[email protected]', 
    url='http://sebdah.github.com/dynamic-dynamodb/', 
    keywords="dynamodb aws provisioning amazon web services", 
    platforms=['Any'], 
    py_modules=['dynamic_dynamodb'], 
    packages=find_packages('dynamic_dynamodb'), 
    include_package_data=True, 
    zip_safe=False, 
    install_requires=[ 
     'boto >= 2.6.0' 
    ], 
    classifiers=[ 
     'Development Status :: 4 - Beta', 
     'Environment :: Console', 
     'License :: OSI Approved :: Apache Software License', 
     'Operating System :: OS Independent', 
     'Programming Language :: Python' 
    ], 
    entry_points={ 
     'console_scripts': [ 
      'dynamic-dynamodb = dynamic_dynamodb.main:main', 
     ] 
    } 
) 

的問題是,當我建立與python setup.py sdist我看到下列錯誤:

file dynamic_dynamodb.py (for module dynamic_dynamodb) not found 

沒有人有任何指針踢我在正確的方向? http://wiki.python.org/moin/Distutils/Tutorial

所述彈跳點是:

回答

3

我按照本指南操作解決問題

  • 創建在根目錄下一個新的腳本(這將是爲整個網站的訪問的腳本)
  • 無需在setup.py中使用py_modules。只需使用包。
  • 現在使用distutils,因爲我不需要任何setuptools功能

我的新setup.py

""" Setup script for PyPI """ 
from distutils.core import setup 


setup(name='dynamic-dynamodb', 
    version='0.3.0-SNAPSHOT', 
    license='Apache License, Version 2.0', 
    description='Automatic provisioning for AWS DynamoDB tables', 
    author='Sebastian Dahlgren', 
    author_email='[email protected]', 
    url='http://sebdah.github.com/dynamic-dynamodb/', 
    keywords="dynamodb aws provisioning amazon web services", 
    platforms=['Any'], 
    packages=['dynamic_dynamodb'], 
    scripts=['dynamic-dynamodb'], 
    include_package_data=True, 
    zip_safe=False, 
    install_requires=[ 
     'boto >= 2.6.0' 
    ], 
    classifiers=[ 
     'Development Status :: 4 - Beta', 
     'Environment :: Console', 
     'License :: OSI Approved :: Apache Software License', 
     'Operating System :: OS Independent', 
     'Programming Language :: Python' 
    ] 
)