qmlcode / qml

QML: Quantum Machine Learning
MIT License
197 stars 84 forks source link

Add configuration for build time dependencies #146

Open EdmundGoodman opened 1 year ago

EdmundGoodman commented 1 year ago

Resolves #145.

In accordance with https://peps.python.org/pep-0517/ , the build time dependency NumPy should be specified, as otherwise QML cannot be installed unless NumPy is already installed on the system, which breaks installation in fresh virtual environments.

This change specifies the build time dependency, and so should fix the issue. Once it is released, the following commands should run without error:

python3 -m venv venv
source venv/bin/activate
pip install qml
EdmundGoodman commented 1 year ago

It is also worth noting as shown in the warning message in #143 that numpy.distutils as used in setup.py is deprecated and should be migrated away from (https://numpy.org/devdocs/reference/distutils_status_migration.html). However, this is a bigger change which should be done in a separate pull request


       `numpy.distutils` is deprecated since NumPy 1.23.0, as a result
       of the deprecation of `distutils` itself. It will be removed for
       Python >= 3.12. For older Python versions it will remain present.
       It is recommended to use `setuptools < 60.0` for those Python versions.
       For more details, see:
         https://numpy.org/devdocs/reference/distutils_status_migration.html```