创建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
而不是覆盖我的全局版本。
谢谢!
我会考虑使用PyInstaller来完成这项任务!
直接来自Pyinstaller的文档:
PyInstaller将Python应用程序及其所有依赖项捆绑到一个包中。用户无需安装Python解释器或任何模块即可运行打包的应用程序。 PyInstaller支持Python 2.7和Python 3.4+,并正确捆绑主要的Python包,如numpy,PyQt,Django,wxPython等。
您可以使用简单的pip安装来安装它:
pip install PyInstaller
有关更详细的教程,请查看此link
希望这有帮助!