分发命令行应用程序

时间:2011-11-16 04:38:42

标签: python setuptools distutils setup.py

Python新手在这里。我正在尝试按照此doc打包控制台应用。为此,我创建了以下directory structure

.
├── bin
│   └── txts
├── setup.py
└── txtstyle
    ├── __init__.py
    ├── ...
    └── [snip]

我的应用程序有一个可执行脚本,我放在bin下。我可以成功运行

python setup.py sdist

并创建一个tar.gz.但是由于导入错误,我无法在bin下执行脚本。

所以我的问题是脚本如何从bin下访问主模块?

1 个答案:

答案 0 :(得分:3)

您需要安装该软件包。这会将所有模块放在全局模块路径中,从而允许您导入它们。对于开发,使用python setup.py develop将模块链接到模块python而不是复制它们。这样,每次更改模块时都无需重新安装软件包。

有一个名为virtualenv的工具可以创建虚拟python环境。您可以在不触及全局Python解释器的情况下将模块安装到此类环境中。