微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

切换到其他Python二进制文件后,强制`pip`重新编译以前安装的软件包numpy

如何解决切换到其他Python二进制文件后,强制`pip`重新编译以前安装的软件包numpy

通过pip卸载numpy(或任何其他麻烦的软件包),然后运行来解决该问题

pip install numpy --no-cache-dir

以防止pip仅仅采取缓存的安装并重复进行。

解决方法

这个问题不仅与我正在使用的一般流程有关,还与我的特定问题(我找到了一种解决方法,因此不是一个亟待解决的问题)一样。


设置(起作用的部分):

我在Ubuntu 14.04本地安装了Python 2.7.9,并在其中运行了virtualenv。一切都与我没有接触过的“系统” Python分开了。


我所做的部分:

安装了我的Python并运行了所有库,一切开始都很好。例如,我还pip安装了numpy 1.10.1,它编译了一段时间,然后运行良好。

问题:

问题是由于无法控制的原因,我不得不在ucs4启用状态下重建python ,即我使用

./configure --enable-unicode=ucs4

完成此操作后,我还卸载了所有库,并使用pip重新安装了它们。但是,似乎numpy库没有正确卸载,因为这一次它已立即安装,当我尝试导入numpy新Python时,我收到一条错误消息,指示numpy是使用ucs2启用了Python的代码编译的。

这个假设非常可靠,因为我当时尝试这样做pip install numpy==1.9.3。安装再次花费了很长时间,并且产生了一个
_适用于新ucs4启用的Python_的numpy版本。

现在,我的问题是:

如何获取numpy卸载过程以删除旧numpy的所有痕迹?


编辑

我还尝试通过从我的virtualenvsite-packages目录中删除numpy来手动删除它。删除后,按预期import numpy返回ImportError。然后,我重新安装了它(pip install numpy),并以相同的ucs2相关错误返回。

编辑2

sys.path我的virtualenv Python看到的完整内容是

['','/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']

另外,可能很重要的是要提到/usr/local/lib/python2.7.9/python的安装 没有 安装numpy。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。