Skip to content

Commit 6349d19

Browse files
committed
Revert "Switch from netifaces to psutil"
psutil doesn't seem to work on pypy3: Traceback (most recent call last): File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/nose/failure.py", line 39, in runTest raise self.exc_val.with_traceback(self.tb) File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/nose/loader.py", line 414, in loadTestsFromName addr.filename, addr.module) File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/nose/importer.py", line 47, in importFromPath return self.importFromDir(dir_path, fqname) File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/nose/importer.py", line 94, in importFromDir mod = load_module(part_fqname, fh, filename, desc) File "/home/travis/build/jstasiak/python-zeroconf/test_zeroconf.py", line 17, in <module> import zeroconf as r File "/home/travis/build/jstasiak/python-zeroconf/zeroconf.py", line 35, in <module> import psutil File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/psutil/__init__.py", line 62, in <module> from . import _pslinux as _psplatform File "/home/travis/virtualenv/pypy3-2.4.0/site-packages/psutil/_pslinux.py", line 23, in <module> from . import _psutil_linux as cext ImportError: unable to load extension module '/home/travis/virtualenv/pypy3-2.4.0/site-packages/psutil/_psutil_linux.pypy3-24.so': /home/travis/virtualenv/pypy3-2.4.0/site-packages/psutil/_psutil_linux.pypy3-24.so: undefined symbol: PyModule_GetState Additionally netifaces turns out to be possible to install on Python 3, therefore making it necessary to investigate the original issue. This reverts commit dd907f2.
1 parent 30bd44f commit 6349d19

3 files changed

Lines changed: 7 additions & 8 deletions

File tree

requirements-dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ flake8-blind-except
77
# Upper bound because of https://github.com/public/flake8-import-order/issues/42
88
flake8-import-order>=0.4.0, <0.6.0
99
mock
10+
netifaces
1011
nose
1112
pep8==1.5.7
1213
pep8-naming
13-
psutil
1414
six

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
],
5353
install_requires=[
5454
'enum-compat',
55-
'psutil',
55+
'netifaces',
5656
'six',
5757
],
5858
)

zeroconf.py

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
import time
3333
from functools import reduce
3434

35-
import psutil
35+
import netifaces
3636
from six import binary_type, indexbytes, int2byte, iteritems, text_type
3737
from six.moves import xrange
3838

@@ -1272,11 +1272,10 @@ class ServiceStateChange(enum.Enum):
12721272

12731273
def get_all_addresses(address_family):
12741274
return list(set(
1275-
nic.address
1276-
for iface, nics in psutil.net_if_addrs().items()
1277-
for nic in nics
1278-
if nic.family == address_family and
1279-
nic.netmask != HOST_ONLY_NETWORK_MASK
1275+
addr['addr']
1276+
for iface in netifaces.interfaces()
1277+
for addr in netifaces.ifaddresses(iface).get(address_family, [])
1278+
if addr.get('netmask') != HOST_ONLY_NETWORK_MASK
12801279
))
12811280

12821281

0 commit comments

Comments
 (0)