Virtualenv python在将ubuntu 15.10升级到16.04之后崩溃了,怎么办?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (431)

我的虚拟服务器中有python 3.4,但是在将ubuntu升级到16.04之后,python升级到了3.5,所以虚拟服务器中的python会崩溃,从而导致以下错误:

Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Fatal Python error: Py_Initialize: Unable to get the locale encoding
ImportError: No module named 'encodings'

Current thread 0x00007f2f2dbcb700 (most recent call first):
fish: “python” terminated by signal SIGABRT (Abort)

我怎么才能修好它?

提问于
用户回答回答于

我通过安装最低工作python3.4来修正这个问题,这样我的虚拟服务器就可以很好地获得软件包列表,然后用python 3.5制作了一个新的软件包,如下所示:

获取python3.4最小包:

wget http://launchpadlibrarian.net/221250032/python3.4-minimal_3.4.3-1ubuntu1~14.04.3_amd64.deb
wget http://launchpadlibrarian.net/221250033/libpython3.4-minimal_3.4.3-1ubuntu1~14.04.3_amd64.deb
sudo dpkg -i --force-breaks libpython3.4-minimal_3.4.3-1ubuntu1~14.04.3_amd64.deb
sudo dpkg -i python3.4-minimal_3.4.3-1ubuntu1~14.04.3_amd64.deb

我的Virtualenv在这里:~/virtualenv/示例

在您的虚拟环境中获取包列表(它现在应该能够很好地工作,但可能不能正确地完成其他事情):

source ~/virtualenv/example/bin/activate
pip freeze > /tmp/requirements.txt
deactivate 

摆脱python3.4,回到Ubuntu 16.04的首选状态:

sudo dpkg --purge python3.4-minimal
sudo dpkg --force-depends --purge libpython3.4-minimal

使用正确的包创建一个新的虚拟环境:

virtualenv -p python3.5 example
source ~/virtualenv/example/bin/activate
pip install -r /tmp/requirements.txt
用户回答回答于

所属标签

可能回答问题的人

  • 天使的炫翼

    17 粉丝531 提问5 回答
  • 找虫虫

    0 粉丝0 提问5 回答
  • 人生的旅途

    10 粉丝484 提问4 回答
  • 骑牛看晨曦

    4 粉丝522 提问4 回答

扫码关注云+社区

领取腾讯云代金券