Установите 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
пакеты.