问题描述
注意:请仔细阅读。这很可能不是重复!在发布这个之前,我已经解决了很多问题。
对于我正在处理的项目,我需要使用 Python 2.7.18。系统上安装的 Python 版本是 2.7.5(我无权在系统级别安装任何东西)。
我决定使用 configure
、make
、install
编译和安装 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 (将#修改为@)