Installation¶
Dependencies¶
python-libdiscid depends on the following components:
Note that Cython is only required if one builds python-libdiscid from the repository. The released tarballs ship with pre-built C source files for the extension mdoules.
If pkgconfig is installed, setup.py uses libdiscid’s pkg-config information to set include directories, libraries to link, etc.
On Debian based systems, the dependencies are only an apt-get away:
apt-get install cython3 libdiscid-dev python3-pkgconfig
Cython and pkgconfig are also available via PyPI:
pip install cython
pip install pkgconfig
Known supported distributions¶
python-libdiscid is available in some distributions:
PyPI¶
python-libdiscid is available from PyPI:
pip install python-libdiscid
You can also download the tarball from PyPI manually, unpack it and run:
python setup.py install
A note for Windows users¶
There are eggs available from the same source too. With these eggs, the
extension module comes pre-built. However, you still need to fetch
discid.dll from libdiscid and copy the DLL to somewhere it can
be found, e.g. to C:\WINDOWS\system32
.
Building python-libdiscid locally¶
If you just want to try python-libdiscid without installing, please note that
per default setuptools will build the extension module in build/lib.*
and
doesn’t copy it to libdiscid
. There are many possible ways to work with this
limitation:
Running:
python3 setup.py build_ext -i
will copy the extension modules to
libdiscid
and one can hack right away.Use setuptools
develop
command. Please read setuptools’s documentation for further information.If you build with
python3 setup.py build
, It is also possible to putbuild/lib.*
before the source directory of python-libdiscid insys.path
. Assuming that python-libdiscid is built on a 64 bit Linux and for Python 3.4, one can use the following lines to achieve that:import sys, os sys.path.insert(0, os.path.abspath('build/lib.linux-x86_64-3.4')) import libdiscid
Please note that modification to any file in the
libdiscid
directory will only be available after another run ofpython setup.py build
.