首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >python虚拟环境和特定的系统库之间有什么关系?

python虚拟环境和特定的系统库之间有什么关系?
EN

Stack Overflow用户
提问于 2016-09-19 22:51:25
回答 1查看 47关注 0票数 0

我们有一个应用程序,它在使用virtualenv设置的Python虚拟环境中使用python完成一些工作。

我们遇到了系统库的版本与虚拟环境中安装的版本不匹配的问题。也就是说,我们已经在虚拟环境中安装了NetCDF4,并且之前已经通过yum安装了libnetcdf.so.7。python包似乎依赖于libnetcdf.so.7的可用性。

由于系统更新,libnetcdf.so.7不再存在,已被libnetcdf.so.11取代。

因此,问题是:设置虚拟环境是否会检测系统库版本,或者是否存在其他机制?另外,我们是否需要重新构建环境来修复此问题,或者是否有其他选择?

EN

回答 1

Stack Overflow用户

发布于 2016-09-19 23:03:45

当您使用virtualenv创建虚拟环境时,您可以选择是否将标准站点包作为环境的一部分。由于这现在是默认行为(尽管可以通过在命令行中使用--no-site-packages来断言),因此您可能正在使用较旧版本的virtualenv,该版本并不坚持这一点。

在这种情况下,您应该能够相当容易地重新创建环境。首先,使用命令捕获现有环境中当前安装的包

代码语言:javascript
运行
复制
pip freeze > /tmp/requirements.txt

然后删除虚拟环境,并使用以下命令重新创建:

代码语言:javascript
运行
复制
virtualenv --no-site-packages envname
source envname/bin/activate
pip install -r /tmp/requirements.txt

然而,所有这些都不能解决没有安装所需支持库的棘手问题。您可以尝试从旧库的位置创建到新库的符号链接-这可能是因为NetCDF4可以与多个版本的libnetCDF一起工作,只是配置得很糟糕,无法使用特定的版本。如果没有,那么解决这个问题可能会变得漫长而痛苦。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39576125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档