Python应用程序目录选择

Python应用程序目录选择,python,linux,python-3.x,directory-structure,Python,Linux,Python 3.x,Directory Structure,我正在编写一个新的Python应用程序,打算分发给几位同事。与我通常的无忧无虑的态度不同,这一次我想拓宽我的视野,并实际尝试使用Linux目录结构(至少在某种程度上)。请您阅读我下面的细目,如果这不正确,请发表评论或提出建议 让我们将应用程序称为“narf” 我假设我应该坚持使用/usr/X(例如/usr/bin而不仅仅是/bin),因为我的应用程序不是系统关键型的,只是一个插件 我目前使用的是Ubuntu16LTS,但其中的一部分是为了使我的应用程序在任何流行的Linux发行版上标准化 谢谢你

我正在编写一个新的Python应用程序,打算分发给几位同事。与我通常的无忧无虑的态度不同,这一次我想拓宽我的视野,并实际尝试使用Linux目录结构(至少在某种程度上)。请您阅读我下面的细目,如果这不正确,请发表评论或提出建议

让我们将应用程序称为“narf”

我假设我应该坚持使用/usr/X(例如/usr/bin而不仅仅是/bin),因为我的应用程序不是系统关键型的,只是一个插件

我目前使用的是Ubuntu16LTS,但其中的一部分是为了使我的应用程序在任何流行的Linux发行版上标准化

谢谢你的帮助

*更新*


我想我至少看到了我问题的一部分答案。在/usr中,我现在看到它是一个非常简单的目录,几乎类似于用户级根目录(即有bin、lib、local、sbin等,但基本上就是这样)。这让我相信我的应用程序绝对不应该存在于/usr中,而应该只存在于/usr/bin中。

您最好将整个应用程序放在/opt中。请看这里:

然后将可执行文件的软链接放入/usr/local/bin。请看这里:


剩下的我就不用担心了。

您最好将整个应用程序放到/opt中。请看这里:

然后将可执行文件的软链接放入/usr/local/bin。请看这里:


剩下的我就不用担心了。

您的应用程序不应该位于
/usr/
目录中。如果要将应用程序打包到分发版中,请参阅以下指南:

您可以在适当的时候写入应用程序中的unix目录,但请记住,
setup.py
中内置了一些机制,可以帮助您完成此()的安装工作


如果这是私有的,我建议将其作为GitHub上的私有存储库,并让您的同事使用。

您的应用程序不应位于
/usr/
目录中。如果要将应用程序打包到分发版中,请参阅以下指南:

您可以在适当的时候写入应用程序中的unix目录,但请记住,
setup.py
中内置了一些机制,可以帮助您完成此()的安装工作

如果这是私有的,我建议将其作为GitHub上的私有存储库,并让您的同事使用

/usr/narf - Install location for the actual python file(s).    
/usr/bin/narf - Either a softlink to the main python file above or use this location instead.    
/etc/narf - Any configuration files for app narf.    
/var/log/narf - Any log files for app narf.    
/usr/lib - Any required libraries for app narf.    
/run/narf - Any persistent (across reboot), but still temp files for app narf.    
/tmp/narf - Very temp files for app narf that go away with reboot