这应该是一个常见的情况,但未能找到任何有关的后但..

我计划部署一个Python库(我猜这同样适用于常规的应用程序),这使得使用某些的图像和其他资源文件。什么是本标准的位置,为这类项目?我想,为项目 Foo, ,选择将是

  • resources 目录中的资源库,然后将文件移到 /usr/share/foo/
  • 地方资源直接在python包下去 /usr/lib/python-<version>/foo/

任何建议?

编辑: 作为建议,澄清主要平台,这将运行在Linux。

有帮助吗?

解决方案

这个问题是有些不完整的,因为一个适当的答案将取决于基础的操作系统,如每个人都有自己的工作方式。在linux(和最unix基于开放源码软件)例如/usr/share/foo或/usr/local/share/foo会的标准。在OS X你可以这样做,但我会认为"/Library/应用程序支助/Foo"(虽然这通常用于储存设置和诸如此类的东西)将地方把这样的事情,虽然如果你写的库下面该"框架"的想法,所有资源将列入/Library/Frameworks/Foo。框架"...应用程序OS X另一方面应保持所有有资源内资源目录的内部Foo。应用程序

其他提示

我们把非。py文件 /opt/foo/foo-1.2/...

除此之外,当然,对于静的媒体是通过阿帕奇,得去 /var/www/html/foo/foo-1.1/media/...

除此之外,当然,对于特定客户的配置文件。他们去 /var/opt/customer/foo/...

这些后续行Linux标准,因为我了解他们。

我们尽量远离 /usr/lib//lib 种类的地点,因为这些感觉他们一部分的分布。我们倾向 /opt/var 因为他们清楚地分离的linux发行版的目录。

标准 位置是你的标准库。但它听起来不给我从你写了什么,你会想你的蟒蛇lib。我觉得你应该试试 虚拟环境.

如果你不想去过所有的麻烦(嗯,这真的只是金额到 sudo easy_install virtualenv 对于你),可以尝试只是甩了你的蟒蛇lib在任何dir你 ~/ 和做沿线的东西

import sys
sys.path.append( '/full/path/to/your/lib/goes/here')

任何给定的应用程序,使用你的lib。

请记住,给出的例子是用于试验目的。为什么动上下的,我会建议你使用 distutil.使用的例子是给予 在这里,.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top