Make netifaces optional

netifaces is a binary Python extension. Outside of the installer, it's
only used by CheckedIPAddress.get_matching_interface, which is only
called from installer code.

Make the import of netifaces optional to reduce the amount of
dependencies for PyPI package use case. Binary extensions are especially
annoying, because they depend on shared libraries, compiler, and header
files to be present.

Related: https://pagure.io/freeipa/issue/6468
Signed-off-by: Christian Heimes <cheimes@redhat.com>
Reviewed-By: Oleg Kozlov <okozlov@redhat.com>
This commit is contained in:
Christian Heimes committed 2019-04-09 11:28:37 +02:00
1 parent 8a5dc1b375
commit a5213140c3
2 files changed
+9 -2

No files matched your search

+2 -1
View File
@@ -43,11 +43,12 @@ if __name__ == '__main__':
# "ipalib", # circular dependency
"ipaplatform",
"netaddr",
"netifaces",
"python-ldap",
"six",
],
extras_require={
"install": ["dbus-python"], # for certmonger
# CheckedIPAddress.get_matching_interface
"netifaces": ["netifaces"],
},
)