在Linux系统中,我应该把我的Python脚本放在哪里?

14

我的Python程序包含几个文件:

  • 主执行Python脚本
  • 以*.py文件为后缀的Python模块
  • 配置文件
  • 日志文件
  • 其他语言的可执行脚本。

所有这些文件都应该只能供管理员访问。主脚本应该在启动时运行,例如通过upstart。
我应该把所有这些文件放在Linux文件系统的哪个位置?
什么是更好的分发程序的方法?
pip、easy_install、deb等?我没有使用过这些工具,所以我想要简单易用的东西。 最低支持的Linux发行版应该是Ubuntu。

2个回答

15

如果此程序仅供root使用,则主执行python脚本必须放在/usr/sbin/中。

配置文件应该放置在/etc/,日志文件应该放在/var/log/

其他python文件应该部署在/usr/share/pyshared/中。

其他语言的可执行脚本将根据它们是否应该对所有用户或仅对root可用而进入/usr/bin//usr/sbin/


1
谢谢,但是当我将带有这些文件的归档文件交给其他人时,如何使自动定位所有文件到适当的目录?这样,收到我的程序的人就不需要自己移动文件。 - George
2
我想最好的选择是为Ubuntu创建一个.deb软件包。这样你就可以将所有文件放置在你想要的位置。 - Didier Trosset

2
如果只有root应该访问脚本,为什么不将其放在/root/中? 其次,如果您要分发应用程序,则可能需要easy_install或类似工具,否则如果只有少数人访问它,则只需tar.gz即可。 这完全取决于您的规模。 Pyglet、wxPython和类似工具都有大量用户。与此相同,BeautifulSoup也会tar.gz文件,您只需使用setuptools进行部署(这是另一种选择)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接