Не стоит заменять существующие источники 0.8.0 источниками в основной ветке. Вам необходимо перестроить ядро библиотеки (часть библиотеки C ++, будьте готовы иметь компилятор, поддерживающий C ++ 14), который используется по умолчанию для обработки. В противном случае код Python будет пытаться получить сервисы из старой версии ядра, которые могут не существовать в старой версии, поэтому в результате произойдет сбой.
Первый способ. Вот инструкция, как установить пикластеринг из главной ветки в отдельную папку (информация из вики по пикластеризации):
# download pyclustering from official repository:
mkdir pyclustering
cd pyclustering
git clone https://github.com/annoviko/pyclustering.git .
# compile C++ part of the library:
cd ccore
make ccore_x64 # in case of 64-bit python version
# make ccore_x86 # in case of 32-bit python version
# if you don't know which version of python is install then compile both
# make ccore
В случае Windows, часть библиотеки C ++ может быть скомпилирована следующим образом:
- Открыть папку 'pyclustering / ccore /'.
- Открыть решение ccore.sln с помощью Microsoft Visual Studio 2015.
- Выберите платформу (x64 - для 64-битной, x86 - для 32-битной).
- Сборка проекта ccore.
Добавить путь к папке 'pyclustering' в PYTHONPATH, например, для linux:
# return to parent folder of the pyclustering library
cd ../
# add current folder (that is parent folder for pyclustering) to python path
PYTHONPATH=`pwd`
export PYTHONPATH=${PYTHONPATH}
Если вы не можете собрать часть библиотеки C ++, она все равно будет работать, pyclustering обнаружит отсутствие двоичных файлов и будет использовать только реализацию Python. Но я хотел бы подчеркнуть, что очень опасно смешивать исходники Python с неправильными двоичными файлами.
Второй способ. Вы можете попробовать уже предложенный способ установки в предыдущем посте, но все же двоичная часть библиотеки должна быть построена для ускорения работы библиотеки:
pip3 uninstall -y pyclustering # remove the current installation
pip3 install git+https://github.com/annoviko/pyclustering.git@master
cd <path_to_pyclustering>/ccore
make ccore_x64 # in case of 64-bit python version
# make ccore_x86 # in case of 32-bit python version
# if you don't know which version of python is install then compile both
# make ccore
Третий (плохой) способ. Просто замените источники на ветку master источников и удалите старые двоичные файлы . В этом случае pyclustering обнаруживает отсутствие ядра и будет использовать код на Python, как я уже упоминал выше.
rm pyclustering/pyclustering/core/x64/linux/ccore.so
rm pyclustering/pyclustering/core/x86/linux/ccore.so
rm pyclustering/pyclustering/core/x64/win/ccore.dll
rm pyclustering/pyclustering/core/x86/win/ccore.dll
Но этот путь ведет к снижению производительности.
Ссылка на пик-кластеризацию вики-страницы: https://github.com/annoviko/pyclustering/wiki/Core-of-the-PyClustering