Install Numeric (old numpy) and old version of Python (e.g. Py 2.4)
我有一些非常古老的python代码(写在python 2.2/2.3时代,使用我理解的numeric库是numpy的前身)。我希望通过用python 3和scipy重新编写代码来重新激活它,尽管为了测试的目的,我希望让旧代码重新工作。
我觉得这应该是可能的,因为开源软件通常会托管旧版本,尽管我在实现这一点上遇到了困难。
首先,我尝试使用Conda创建PY2.3安装:
1 | conda create -n py23 python=2.3 |
它找不到python 2.3。因此,我创建了一个PY2.7环境。
在我的终端中按下PY 2.7活动环境,我可以看到使用pip(pip search numeric)列出的数字24.2,但它拒绝使用命令安装它。
1 | pip install Numeric |
最后,我尝试下载源代码,并在活动的PY2.6环境中运行
1 | python setup.py install |
我得到以下错误:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | running install running build running build_py running build_ext building 'umath' extension C:\Users\USERNAME\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\amd64\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG - DHAVE_INVERSE_HYPERBOLIC=0 -IInclude -IPackages\FFT\Include - IPackages NG\Include"-IC:\Program Files\Anaconda3\envs\py27r\include""- IC:\Program Files\Anaconda3\envs\py27r\PC" /TcSrc\umathmodule.c /Fobuild\temp.win-amd64-2.7 elease\Src\umathmodule.obj umathmodule.c Src\umathmodule.c(1005) : warning C4244: '=' : conversion from 'double' to 'float', possible loss of data Src\umathmodule.c(1297) : warning C4146: unary minus operator applied to unsigned type, result still unsigned Src\umathmodule.c(2405) : error C2099: initializer is not a constant Src\umathmodule.c(2405) : error C2099: initializer is not a constant Src\umathmodule.c(2407) : error C2099: initializer is not a constant Src\umathmodule.c(2407) : error C2099: initializer is not a constant WARNING: '' not a valid package name; please use only .-separated package names in setup.py error: command 'C:\\Users\\USERNAME\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\amd64\\cl.exe' failed with exit status 2 |
有人能告诉我哪里出错了吗?是否甚至可以从2000年初开始设置python+numeric开发环境?
我的机器是64位Windows10机器。
数字软件包可能在很久以前就被取消了认证,请尝试在安装中安装numpy 1.8,并在代码开头写入:
对于安装中的旧numpy do: