使用setuptools创建python可执行文件

我有一个小的python应用程序,我希望将其做成可下载/可安装的可执行程序,以用于类似UNIX的系统。我的印象是,setuptools将是实现此目标的最佳方法,但是从某种意义上来说,这似乎并不是一项常见的任务。


我的目录结构如下所示:


myappname/

|-- setup.py

|-- myappname/

|   |-- __init__.py

|   |-- myappname.py

|   |-- src/

|      |-- __init__.py

|      |-- mainclassfile.py

|      |-- morepython/

|         |-- __init__.py

|         |-- extrapython1.py

|         |-- extrapython2.py

包含的文件if __name__ == "__main__": 是myappname.py。该文件的顶部有一行import src.mainclassfile。


下载后,我希望用户能够执行以下操作:


$ python setup.py build

$ python setup.py install

然后它将是一个已安装的可执行文件,他们可以在命令行上的任何位置使用以下命令进行调用:


$ myappname arg1 arg2

我的setup.py的重要部分如下:


from setuptools import setup, find_packages

setup(

  name='code2flow',

  scripts=['myappname/myappname.py'],

  package_dir={'myappname': 'myappname'},

  packages=find_packages(),

  )

当前状态

通过运行:


$ sudo python setup.py install

然后在一个新的shell中:


$ myapp.py

我收到一个No module named错误


斯蒂芬大帝
浏览 352回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python