为什么使用sys.path.append(path)代替sys.path.insert(1,path)?

为什么使用sys.path.append(path)代替sys.path.insert(1,path)?,第1张

为什么使用sys.path.append(path)代替sys.path.insert(1,path)?

如果包/模块具有多个版本,则需要使用virtualenv(强调我的):

virtualenv
是创建隔离的Python环境的工具。

解决的基本问题是依赖项和版本之一,以及间接权限。
假设您有一个需要使用LibFoo的版本1的应用程序,但是另一个应用程序需要的版本2。您如何同时使用这两个应用程序?
如果将所有内容都安装

/usr/lib/python2.7/site-packages
(或平台的标准位置是什么),则很容易在无意中升级不应升级的应用程序的情况下结束。

或更笼统地说,如果您要安装应用程序并 保留原样该 怎么办?如果应用程序正常运行,则其库或这些库的版本中的任何更改都可能破坏该应用程序。

另外,如果无法将软件包安装到全局

site-packages
目录中怎么办?例如,在共享主机上。

在所有这些情况下,

virtualenv
都可以为您提供帮助。它创建一个具有自己的安装目录的环境,该环境不与其他virtualenv环境共享库(也可以选择不访问全局安装的库)。

这就是人们认为

insert(0,
错了的原因-这是管理多个环境问题的不完整的权宜之计。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5643408.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存