【发布时间】:2010-12-09 12:04:06
【问题描述】:
我正在尝试使用setup.py sdist 对我的项目进行源代码分发。我已经有一个可以运行的setup.py 可以安装。但是当我执行sdist 时,我得到的只是我的my_project 文件夹中的另一个my_project 文件夹,一个我不感兴趣的MANIFEST 文件,以及一个包含两个文本文件的zip 文件,而不是我的项目.
我做错了什么? sdist 的文档在哪里?
更新:
这是我的setup.py:
#!/usr/bin/env python
import os
from distutils.core import setup
import distutils
from general_misc import package_finder
try:
distutils.dir_util.remove_tree('build', verbose=True)
except:
pass
my_long_description = \
'''\
GarlicSim is a platform for writing, running and analyzing simulations. It can
handle any kind of simulation: Physics, game theory, epidemic spread,
electronics, etc.
'''
my_packages = package_finder.get_packages('', include_self=True,
recursive=True)
setup(
name='GarlicSim',
version='0.1',
description='A Pythonic framework for working with simulations',
author='Ram Rachum',
author_email='cool-rr@cool-rr.com',
url='http://garlicsim.org',
packages=my_packages,
package_dir={'': '..'},
license= "LGPL 2.1 License",
long_description = my_long_description,
)
try:
distutils.dir_util.remove_tree('build', verbose=True)
except:
pass
【问题讨论】:
-
运行时是否在包目录中?源码也在包目录下吗?
-
迈克尔:是的,是的。
setup.py与最上面的__init__.py位于同一位置。 -
通常 setup.py 会是上面的一个目录,其中包含
__init__.py的包。