创建一个包含自包含依赖性的Python模块

时间:2019-04-26 13:06:57

标签: python python-3.x python-module

创建Python模块时,您可以使用install_requires列表指定模块的依赖性。

让我们看一下这个基本示例。

setup(name='some_module',
      version='0.0.1',
      packages=find_packages(),
      install_requires=[
          'requests==2.21.0'
      ])

我打包了模块python3 setup.py sdist并将其上传到打包存储库中。

但是当我去安装pip3 install some_module==0.0.1时,它将在我的python3 requests==2.21.0中全局安装site-packages/

对于我的问题,我如何获得与npm类似的功能,使用嵌套的node_modules/,其中我的Python模块将拥有其 own site-packages/,并将引用其本地版本的requests,而不是覆盖我的全局版本。

谢谢!

1 个答案:

答案 0 :(得分:0)

我会考虑使用PyInstaller来完成此任务!

直接来自Pyinstaller的文档:

PyInstaller 将Python应用程序及其所有依赖项捆绑到一个程序包中。用户无需安装Python解释器或任何模块即可运行打包的应用程序。 PyInstaller支持Python 2.7和Python 3.4+,并正确捆绑了主要的Python软件包,例如numpy,PyQt,Django,wxPython等。

您可以通过简单的pip安装来安装它:

pip install PyInstaller

有关更详细的教程,请查看此link

希望有帮助!