【发布时间】:2012-08-05 12:34:33
【问题描述】:
我创建了一个可执行的 egg 以使其作为单个文件可执行。
setup.py:
#!/usr/bin/env python
from setuptools import setup, find_packages
setup(
name='app',
version='0.5',
description='foo',
author='microo8',
author_email='xxx@email.com',
packages=["foo", "bar"],
install_requires=["sqlalchemy>=0.7", "paramiko>=1.7.7.1"],
entry_points = {
'setuptools.installation': [
'eggsecutable = foo.module:main',
]
}
)
我现在可以称它为:./app-0.5-py2.7.egg,但相对路径都在鸡蛋中。
当我在main 函数中调用print __file__ 时,它会打印/home/user/app-0.5-py2.7.egg/foo/module.py。我想读取一个配置文件,它必须与鸡蛋在同一个目录中。并且相同的脚本必须也可以作为“非鸡蛋”执行,因此配置文件将与脚本一起在目录中。
我怎样才能知道脚本是从鸡蛋和鸡蛋路径中执行的?
【问题讨论】: