我正在根目录中使用标准setup.py编写基于Flask的模块:
#!/usr/bin/env python
from distutils.core import setup
setup(name=modulename,
version='0.2.16.dev0',
description='...',
author='...',
...
)
我愿意使用FlaskAPI公开模块版本。以编程方式访问自己的模块版本的正确方法是什么?
谢谢
更新:我忘了提到该模块没有必要作为标准模块安装,并且可能在PYTHONPATH中不可用。这就是为什么这个问题不是这样的
将版本放入version.py
或\uuuuu version\uuuuuu.py
或类似文件(在软件包内),并将其导入setup.py
和应用程序:
from distutils.core import setup
from mypackage.version import version
setup(…
version=version,
…
)
如果在setup.py
中导入软件包会产生不必要的副作用,您可以通过以下技巧读取mypackage/version.py
并解析它或exec()
或单独导入它(不带软件包):
from imp import load_source
from os.path import abspath, dirname, join
versionpath = join(abspath(dirname(__file__)), "mypackage", "__version__.py")
load_source("mapackage_version", versionpath)
from mapackage_version import version
我使用安装了Python模块和: 如何从命令行检查它们的版本?
创建你自己的模块是十分简单的,你一直在这样做!每个Python程序也是一个模块。你已经确保它具有.py扩展名了。下面这个例子将会使它更加清晰。 创建你自己的模块 例8.3 如何创建你自己的模块 #!/usr/bin/python # Filename: mymodule.py defsayhi(): print'Hi, this is mymodule speaking.' version
问题内容: 许多第三方Python模块都有一个属性,该属性保存该模块的版本信息(通常类似或),但有些则不然。 此类模块的特定示例是libxslt和libxml2。 我需要检查这些模块在运行时是否使用了正确的版本。有没有办法做到这一点? 潜在的解决方案是在运行时读取源代码,对其进行哈希处理,然后将其与已知版本的哈希进行比较,但这很讨厌。 有更好的解决方案吗? 问题答案: 我会远离哈希。正在使用的li
问题内容: 当前,我们通过在under属性中提及它们的版本和依赖项来在系统上设置\安装一些软件包。我们的系统需要Python 2.7。有时,用户在其系统上拥有多个版本的Python,例如2.6.x和2.7,它说的某些软件包已经可用,但实际上在系统上的2.6站点软件包列表下可用。还有一些用户只有2.6,如何从中强制实施,或者有其他方法可以说只有python 2.7,而我们要更新的所有软件包仅适用于2
问题内容: 这个问题已经在这里有了答案 : install_requires基于python版本 (2个答案) 3个月前关闭。 我的setup.py看起来像这样: 在Python 2.6(或更高版本)下,ssl模块的安装由于以下原因而失败: 有没有一种标准的方法来定义仅针对特定python版本的依赖关系?我当然可以做到,但也许有更好的方法可以做到。 问题答案: 这只是一个列表,因此您必须在上面的某
问题内容: 我有一个Python库。不幸的是,我尚未将其更新为可用于Python 3。 在其中,我添加了 我的目的是不允许在Python 3下安装/使用此软件包,因为我知道它尚无法使用。我认为这不是正确的方法,因为然后尝试下载并安装python 2.7.3(已经安装了版本!)。 我应如何在特定范围的Python解释器版本上指定我的库依赖项?我应该添加标签吗?这实际上会阻止在Python 3下安装吗