我创建了一个可执行的 egg 以使其成为单个文件可执行文件。
设置.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
,但相对路径都在鸡蛋中。当我调用它打印print __file__
的函数时。我想读取一个配置文件,它必须与鸡蛋在同一个目录中。并且相同的脚本也必须作为“非鸡蛋”可执行,因此配置文件将与脚本一起位于目录中。main
/home/user/app-0.5-py2.7.egg/foo/module.py
我怎样才能知道脚本是从鸡蛋和鸡蛋路径中执行的?