noisyboiler / wampy

Websocket RPC and Pub/Sub for Python applications and microservices
Mozilla Public License 2.0
127 stars 24 forks source link

Wrong arg for socket.connect() #107

Closed Korridzy closed 3 years ago

Korridzy commented 3 years ago

Connection error on fresh wampy installation

$ mkdir denv
$ virtualenv --python=python3 denv
created virtual environment CPython3.8.5.final.0-64 in 3333ms
  creator CPython3Posix(dest=/home/homo/git/range/crossbar-learn/denv, clear=False, global=False)
  seeder FromAppData(download=False, wheel=latest, six=latest, progress=latest, appdirs=latest, lockfile=latest, pip=latest, distro=latest, html5lib=latest, setuptools=latest, CacheControl=latest, ipaddr=latest, certifi=latest, msgpack=latest, retrying=latest, distlib=latest, colorama=latest, pkg_resources=latest, packaging=latest, webencodings=latest, requests=latest, urllib3=latest, contextlib2=latest, pytoml=latest, chardet=latest, idna=latest, pyparsing=latest, pep517=latest, via=copy, app_data_dir=/home/homo/.local/share/virtualenv/seed-app-data/v1.0.1.debian)
  activators BashActivator,CShellActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
$ source denv/bin/activate
(denv) $ pip install wampy
Collecting wampy
  Using cached wampy-1.0.0-py2.py3-none-any.whl (75 kB)
Requirement already satisfied: six>=1.11.0 in ./denv/lib/python3.8/site-packages (from wampy) (1.14.0)
Collecting simplejson>=3.11.1
  Using cached simplejson-3.17.2-cp38-cp38-manylinux2010_x86_64.whl (137 kB)
Collecting eventlet>=0.24.1
  Using cached eventlet-0.30.1-py2.py3-none-any.whl (224 kB)
Collecting gevent==20.4.0
  Using cached gevent-20.4.0-cp38-cp38-manylinux2010_x86_64.whl (5.9 MB)
Collecting attrs==19.2.0
  Using cached attrs-19.2.0-py2.py3-none-any.whl (40 kB)
Collecting dnspython<2.0.0,>=1.15.0
  Using cached dnspython-1.16.0-py2.py3-none-any.whl (188 kB)
Collecting greenlet>=0.3
  Using cached greenlet-1.0.0-cp38-cp38-manylinux2010_x86_64.whl (165 kB)
Installing collected packages: simplejson, dnspython, greenlet, eventlet, gevent, attrs, wampy
Successfully installed attrs-19.2.0 dnspython-1.16.0 eventlet-0.30.1 gevent-20.4.0 greenlet-1.0.0 simplejson-3.17.2 wampy-1.0.0
(denv) $ pip install gevent -U
Collecting gevent
  Using cached gevent-21.1.2-cp38-cp38-manylinux2010_x86_64.whl (6.3 MB)
Collecting zope.interface
  Using cached zope.interface-5.2.0-cp38-cp38-manylinux2010_x86_64.whl (244 kB)
Collecting zope.event
  Using cached zope.event-4.5.0-py2.py3-none-any.whl (6.8 kB)
Requirement already satisfied, skipping upgrade: setuptools in ./denv/lib/python3.8/site-packages (from gevent) (44.0.0)
Requirement already satisfied, skipping upgrade: greenlet<2.0,>=0.4.17; platform_python_implementation == "CPython" in ./denv/lib/python3.8/site-packages (from gevent) (1.0.0)
ERROR: wampy 1.0.0 has requirement gevent==20.4.0, but you'll have gevent 21.1.2 which is incompatible.
Installing collected packages: zope.interface, zope.event, gevent
  Attempting uninstall: gevent
    Found existing installation: gevent 20.4.0
    Uninstalling gevent-20.4.0:
      Successfully uninstalled gevent-20.4.0
Successfully installed gevent-21.1.2 zope.event-4.5.0 zope.interface-5.2.0
(denv) $ python wampy_clients.py 
gevent monkey-patched your environment
2021-03-01 18:23:26,165 INFO:logging configured
2021-03-01 18:23:26,165 INFO:wampy starting up with event loop: gevent
Traceback (most recent call last):
  File "wampy_clients.py", line 34, in <module>
    ticker = WampyTicker(url="ws://localhost:8080")
  File "/home/homo/git/range/crossbar-learn/denv/lib/python3.8/site-packages/wampy/peers/clients.py", line 95, in __init__
    self._session = Session(
  File "/home/homo/git/range/crossbar-learn/denv/lib/python3.8/site-packages/wampy/session.py", line 92, in __init__
    self.connection = self.transport.connect(upgrade=True)
  File "/home/homo/git/range/crossbar-learn/denv/lib/python3.8/site-packages/wampy/transports/websocket/connection.py", line 59, in connect
    self._connect()
  File "/home/homo/git/range/crossbar-learn/denv/lib/python3.8/site-packages/wampy/transports/websocket/connection.py", line 150, in _connect
    _socket.connect((self.host.encode(), self.port))
  File "/home/homo/git/range/crossbar-learn/denv/lib/python3.8/site-packages/gevent/_socketcommon.py", line 602, in connect
    address = _resolve_addr(self._sock, address)
  File "/home/homo/git/range/crossbar-learn/denv/lib/python3.8/site-packages/gevent/_socketcommon.py", line 428, in _resolve_addr
    if __socket__.inet_pton(sock.family, address[0]):
TypeError: inet_pton() argument 2 must be str, not bytes
noisyboiler commented 3 years ago

sorted as of 1.1.0. ta @Korridzy