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

问题描述 投票:0回答:1

创建Python模块时,可以使用install_requires List指定模块的依赖关系。

让我们看看这个基本的例子。

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模块将有自己的site-packages/,它将引用其本地版本的requests而不是覆盖我的全局版本。

谢谢!

python python-3.x python-module
1个回答
0
投票

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

直接来自Pyinstaller的文档:

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

您可以使用简单的pip安装来安装它:

pip install PyInstaller

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

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.