我正在尝试使用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
答案 0 :(得分:7)
Tarek Ziade在this article中解释了这个以及相关的软件打包工具,称为用Python编写一个包。
基本上,它创建了一个简单的包 创建一个发布树,其中复制了运行包所需的所有内容。然后将该树存档在一个或多个存档文件中(通常,它只创建一个tar球)。存档基本上是源树的副本。
答案 1 :(得分:4)
“sdist”命令用于创建包的“源”分发。通常,可以将此命令与“upload”命令结合使用,以通过Pypi(例如)分发包。