我几乎完成了 python 包的开发,并且还使用 distutils 编写了基本的 setup.py:
#!/usr/bin/env python
#@author: Prahlad Yeri
#@description: Small daemon to create a wifi hotspot on linux
#@license: MIT
import cli
#INSTALL IT
from distutils.core import setup
setup(name='hotspotd',
version='0.1',
description='Small daemon to create a wifi hotspot on linux',
license='MIT',
author='Prahlad Yeri',
author_email='[email protected] /cdn-cgi/l/email-protection',
url='https://github.com/prahladyeri/hotspotd',
package_dir={'hotspotd': ''},
packages=['hotspotd'],
data_files=[('config',['run.dat'])],
)
#CONFIGURE IT
现在这个脚本可以完美地按照我的要求工作。它将所需的文件安装到前缀文件夹中。例如,以下命令:
sudo python setup.py install --prefix /opt
将把我的整个包安装在:
/opt/lib/python2.7/site-packages/hotspotd
但是,我希望将主要可执行文件 hotspotd.py 符号链接到 /usr/bin 中的适当文件,例如:
/usr/bin/hotspotd
这样用户只需调用即可启动我的程序hotspotd start
而不是通过python间接调用。
如何通过修改setup.py来实现这一点?如果我只是在 setup() 调用之后编写复制代码,那么每次都会调用它。我只想在安装程序时完成它。