我有一些非常老的Python代码(大约写于Python 2.2/2.3时期,并使用Numeric库,我了解到这是Numpy的前身)。我希望通过Python 3和Scipy的重写来重新激活它,但为了测试目的,我想让旧代码再次运行。
我觉得这应该是可能的,因为开源软件通常会保留旧版本,尽管我在实现上遇到了麻烦。
首先,我尝试使用conda创建一个Py2.3安装:
最后,我尝试下载源代码,在一个正在运行的Py2.6环境中运行。
我觉得这应该是可能的,因为开源软件通常会保留旧版本,尽管我在实现上遇到了麻烦。
首先,我尝试使用conda创建一个Py2.3安装:
conda create -n py23 python=2.3
由于无法找到Python 2.3,因此我创建了一个Py2.7环境。
在终端中使用Py 2.7活动环境后,我可以使用pip (pip search Numeric)查看到Numeric 24.2的列表,但是它拒绝使用命令安装。
pip install Numeric
最后,我尝试下载源代码,在一个正在运行的Py2.6环境中运行。
python setup.py install
我遇到了以下错误:
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) : 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位Windows 10电脑。