我有一些非常古老的Python代码(大约在Python 2.2 / 2.3左右编写,并使用了我理解是Numpy的前体的Numeric库)。我希望通过在Python 3和Scipy中重新编写代码来重新激发它的活力,尽管我想让旧代码再次用于测试目的。
我觉得这应该可行,因为开源软件通常会保留旧版本,尽管我很难做到这一点。
首先,我尝试使用conda创建Py2.3安装:
conda create -n py23 python=2.3
Run Code Online (Sandbox Code Playgroud)
而且找不到Python 2.3。因此,我创建了一个Py2.7环境。
在终端上使用Py 2.7活动环境,我可以看到使用pip列出了Numeric 24.2(pip search Numeric),但是它拒绝使用以下命令进行安装
pip install Numeric
Run Code Online (Sandbox Code Playgroud)
最后,我尝试下载源代码并在一个活动的Py2.6环境中运行
python setup.py install
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
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\RNG\Include "-IC:\Program Files\Anaconda3\envs\py27r\include" "-
IC:\Program Files\Anaconda3\envs\py27r\PC" /TcSrc\umathmodule.c
/Fobuild\temp.win-amd64-2.7\Release\Src\umathmodule.obj
umathmodule.c
Src\umathmodule.c(1005) : warning C4244: '=' : conversion from 'double' to
'float', possible loss of data
Src\umathmodule.c(1297) : …
Run Code Online (Sandbox Code Playgroud)