首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >virtualenv python在升级ubuntu 15.10至16.04后崩溃

virtualenv python在升级ubuntu 15.10至16.04后崩溃
EN

Stack Overflow用户
提问于 2016-04-22 22:45:43
回答 3查看 2.7K关注 0票数 19

我的virtualenv中有python 3.4,但是在将ubuntu升级到16.04之后,python升级到了3.5,所以virtualenv中的python崩溃了,错误如下:

代码语言:javascript
复制
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)

我怎么才能修复它?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-05-03 15:55:20

我修复了这个问题,安装了最低工作版本python3.4,这样我的virtualenv就可以很好地获得包列表,然后用python3.5创建一个新的。如下所示:

获取python3.4最小包:

代码语言:javascript
复制
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/example

获取您的virtualenv中的包列表(它现在应该可以很好地完成这项工作,但可能无法正确执行其他操作):

代码语言:javascript
复制
source ~/virtualenv/example/bin/activate
pip freeze > /tmp/requirements.txt
deactivate 

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

代码语言:javascript
复制
sudo dpkg --purge python3.4-minimal
sudo dpkg --force-depends --purge libpython3.4-minimal

使用正确的包创建一个新的virtualenv:

代码语言:javascript
复制
virtualenv -p python3.5 example
source ~/virtualenv/example/bin/activate
pip install -r /tmp/requirements.txt

现在应该可以使用所有旧的包了,但是在python3.5中。应该..。

另请参阅Upgrade python in a virtualenv

票数 4
EN

Stack Overflow用户

发布于 2016-04-24 19:51:13

我遇到了同样的问题,我设法“修复”是通过重新创建virtualenv并使用pip重新安装所需的包。

创建新的virtualenv:

代码语言:javascript
复制
virtualenv <new-virtualenv>

激活它:

代码语言:javascript
复制
source <new-virtualenv>/bin/activate

安装软件包:

代码语言:javascript
复制
pip install <required-packages>

我很高兴能再来一次!

只需重命名文件夹即可保留旧的virtualenv:

代码语言:javascript
复制
mv <old-virtualenv> <old-virtualenv>-backup
票数 0
EN

Stack Overflow用户

发布于 2016-12-20 12:12:57

我通过创建一个新的virtualenv并将python可执行文件复制到旧的损坏的virtualenv中修复了它。

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

https://stackoverflow.com/questions/36796887

复制
相关文章

相似问题

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