【发布时间】:2019-04-26 13:06:57
【问题描述】:
创建 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 site-packages/ 中全局安装requests==2.21.0。
对于我的问题,我如何获得与 npm 类似的功能,嵌套 node_modules/ 我的 Python 模块将拥有其 自己的 site-packages/ 并且它将引用其本地版本的 requests而不是覆盖我的全局版本。
谢谢!
【问题讨论】:
-
这不是虚拟环境解决的吗?
-
@roganjosh 我认为不是因为给定包的不同版本可以位于同一嵌套级别的不同
node_modules文件夹中。据我所知,这不是 venv 的工作原理 -
@charleslandau 我会认为 npm 超出了我的舒适范围,但是一个包运行多个版本的库?这存在吗?
-
@roganjosh 不,我的意思是单独的包。如 pkg1 需要 axiosv1.0.1 而 pg2 需要 axios1.1.1
-
我不认为 Python 的导入模型支持这种嵌套。
标签: python python-3.x python-module