重新下载python以前下的包还用重新安装吗_切换到其他Python二进制文件后,强制`pip`重新编译以前安装的软件包(numpy)...

This question is as much a question about my particular problem (which I sort of found a work-around, so it's not a burning issue) as it is about the general process I am using.

Setup (the part that works):

I have Python 2.7.9 installed locally on my Ubuntu 14.04, and I have a virtualenv in which I am running it. Everything is very much separated from the "system" Python, which I am not touching.

The part I did:

It all started well enough, with my Python installed and all libraries running. For example, I also pip installed numpy 1.10.1, it compiled for a while, then it worked just fine.

The problem:

The problem is that for reasons beyond my control, I had to rebuild the python with ucs4 enabled, that is I installed it using

./configure --enable-unicode=ucs4

After doing this, I also uninstalled all libraries and reinstalled them using pip. However, it seems that the numpy library was not properly uninstalled because it installed instantly this time, and when I tried to import numpy into my new Python, I got an error message indicating that the numpy was compiled with the ucs2-enabled Python.

This hypothesis is pretty solid, since I tried then to pip install numpy==1.9.3. The installation once again took a long time, and it produced a numpy version that works on the new ucs4 enabled Python.

Now, my question:

How can I get the numpy uninstallation process to delete all traces of the old numpy?

Edit:

I also tried to manually remove numpy by deleting it from my virtualenv site-packages directory. After deleting, import numpy returned an ImportError as expected. I then reinstalled it (pip install numpy) and it came back with the same ucs2-related error.

Edit 2:

The full sys.path seen by my virtualenv Python is

['',

'/home/jkralj/.virtualenvs/work/lib/python27.zip',

'/home/jkralj/.virtualenvs/work/lib/python2.7',

'/home/jkralj/.virtualenvs/work/lib/python2.7/plat-linux2',

'/home/jkralj/.virtualenvs/work/lib/python2.7/lib-tk',

'/home/jkralj/.virtualenvs/work/lib/python2.7/lib-old',

'/home/jkralj/.virtualenvs/work/lib/python2.7/lib-dynload',

'/usr/local/lib/python2.7.9/lib/python2.7',

'/usr/local/lib/python2.7.9/lib/python2.7/plat-linux2',

'/usr/local/lib/python2.7.9/lib/python2.7/lib-tk',

'/home/jkralj/.virtualenvs/work/lib/python2.7/site-packages']

Also, it might be important to mention that the /usr/local/lib/python2.7.9/ installation of python does not have numpy installed.

解决方案

The problem is solved by pip uninstalling numpy (or any other troublesome package), then running

pip install numpy --no-cache-dir

to prevent pip from simply taking the cached installation and repeating it.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值