在 virtualenv (Linux) 中选择了错误版本的 Python

问题描述

注意:请仔细阅读。这很可能不是重复!在发布这个之前,我已经解决了很多问题。

对于我正在处理的项目,我需要使用 Python 2.7.18。系统上安装的 Python 版本是 2.7.5(我无权在系统级别安装任何东西)。 我决定使用 configuremakeinstall 编译和安装 Python 2.7.18,一切都很好。 附带说明一下,我使用 -Wl,-rpath=\$$ORIGIN/../lib 构建了二进制文件,以确保设置了 rpaths,并且无需更改 LD_LIBRARY_PATH 即可正确运行二进制文件

安装后,我可以使用 python --version 运行我自己构建的二进制文件,并且它会按预期报告 Python 2.7.18快速ldd 显示 libpython2.7.so.1.0 也是我安装的那个。其他一切正常。

现在我想创建一个虚拟环境,这就是麻烦的地方:

我做了一个virtualenv -p /path/to/my/python2.7 myvenv,虚拟环境创建成功。 which python 指向 .../myvenv/bin/python,一切正常。

然而,运行 python --version 现在报告 Python 2.7.5,事实上,ldd $(which python) 显示 /lib64/libpython2.7.so.1.0,这不是我想要的

相应地将 LD_LIBRARY_PATH 设置为我的 Python 安装的解决方法,但这是我首先通过设置正确的 rpath 试图避免的。我如何告诉虚拟环境按预期使用正确版本的 Python 而不是混淆库?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)