Установите Numeric (старый numpy) и старую версию Python (например, Py 2.4)

У меня есть очень старый код на Python (написанный во времена Python 2.2/2.3 и использующий библиотеки Numeric, которые, как я понимаю, были предшественниками Numpy). Я надеюсь оживить это, переписав в Python 3 и Scipy, хотя я бы хотел, чтобы старый код снова работал в целях тестирования.

Я чувствую, что это должно быть возможно, так как программное обеспечение с открытым исходным кодом часто сохраняет старые выпуски, хотя у меня возникают проблемы с достижением этого.

Во-первых, я попытался использовать conda для создания установки Py2.3:

conda create -n py23 python=2.3

и он не может найти Python 2.3. Таким образом я создаю среду Py2.7.

Нажав на активную среду Py 2.7 в моем терминале, я вижу Numeric 24.2 в списке, используя pip (pip search Numeric), но он отказывается устанавливать его с помощью команды

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

Может кто-нибудь, пожалуйста, посоветуйте, где я иду не так? Можно ли вообще установить среду разработки Python + Numeric примерно с начала 2000-х годов?

Моя машина - 64-битная Windows 10.

1 ответ

Возможно, пакет Numeric был слишком устаревшим, попробуйте вместо этого установить numpy 1.8 и напишите в начале кода:

Numeric = numpy.oldnumeric

Для старого numpy сделать в установке:

pip install numpy==1.8

Если вам нужна реальная сделка, почему бы не создать виртуальный контейнер с помощью VirtualBox и не установить дистрибутив Linux той эпохи, скажем, Ubuntu 4.10.

Она имеет python2.3 а также python-numeric пакеты.

Другие вопросы по тегам