novnc / websockify

Websockify is a WebSocket to TCP proxy/bridge. This allows a browser to connect to any application/server/service.
GNU Lesser General Public License v3.0
3.88k stars 768 forks source link

Installation fails #557

Closed wlfbck closed 1 year ago

wlfbck commented 1 year ago

This is on Debian Jessie (yes, its old and no, i cannot upgrade it sadly). Python3 is freshly installed via apt-get install python3. The installed python verison is Python 3.4.2. Downloaded the latest released, unzipped and executed python3 setup.py install in that folder:

Traceback (most recent call last):
  File "setup.py", line 1, in <module>
    from setuptools import setup, find_packages
ImportError: No module named 'setuptools'

A bit of googling tells me to also install: apt-get install python3-setuptools. I do that, and afterwards executing python3 setup.py install again:

/usr/lib/python3.4/distutils/dist.py:260: UserWarning: Unknown distribution option: 'long_description_content_type'
  warnings.warn(msg)
running install
Checking .pth file support in /usr/local/lib/python3.4/dist-packages/
/usr/bin/python3 -E -c pass
TEST PASSED: /usr/local/lib/python3.4/dist-packages/ appears to support .pth files
running bdist_egg
running egg_info
writing websockify.egg-info/PKG-INFO
writing entry points to websockify.egg-info/entry_points.txt
writing requirements to websockify.egg-info/requires.txt
writing top-level names to websockify.egg-info/top_level.txt
writing dependency_links to websockify.egg-info/dependency_links.txt
reading manifest file 'websockify.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'websockify.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/__main__.py -> build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/websocket.py -> build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/token_plugins.py -> build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/__init__.py -> build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/websocketproxy.py -> build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/websockifyserver.py -> build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/auth_plugins.py -> build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/sysloghandler.py -> build/bdist.linux-x86_64/egg/websockify
copying build/lib/websockify/websocketserver.py -> build/bdist.linux-x86_64/egg/websockify
byte-compiling build/bdist.linux-x86_64/egg/websockify/__main__.py to __main__.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/websockify/websocket.py to websocket.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/websockify/token_plugins.py to token_plugins.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/websockify/__init__.py to __init__.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/websockify/websocketproxy.py to websocketproxy.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/websockify/websockifyserver.py to websockifyserver.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/websockify/auth_plugins.py to auth_plugins.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/websockify/sysloghandler.py to sysloghandler.cpython-34.pyc
byte-compiling build/bdist.linux-x86_64/egg/websockify/websocketserver.py to websocketserver.cpython-34.pyc
creating build/bdist.linux-x86_64/egg/EGG-INFO
copying websockify.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying websockify.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying websockify.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying websockify.egg-info/entry_points.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying websockify.egg-info/not-zip-safe -> build/bdist.linux-x86_64/egg/EGG-INFO
copying websockify.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying websockify.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
creating 'dist/websockify-0.11.0-py3.4.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing websockify-0.11.0-py3.4.egg
removing '/usr/local/lib/python3.4/dist-packages/websockify-0.11.0-py3.4.egg' (and everything under it)
creating /usr/local/lib/python3.4/dist-packages/websockify-0.11.0-py3.4.egg
Extracting websockify-0.11.0-py3.4.egg to /usr/local/lib/python3.4/dist-packages
websockify 0.11.0 is already the active version in easy-install.pth
Installing websockify script to /usr/local/bin

Installed /usr/local/lib/python3.4/dist-packages/websockify-0.11.0-py3.4.egg
Processing dependencies for websockify==0.11.0
Searching for simplejson
Reading https://pypi.python.org/simple/simplejson/
Couldn't find index page for 'simplejson' (maybe misspelled?)
Scanning index of all packages (this may take a while)
Reading https://pypi.python.org/simple/
No local packages or download links found for simplejson
error: Could not find suitable distribution for Requirement.parse('simplejson')

So it seems the requirements cannot be downloaded for some reason. I noticed that pip is not included in Debians Python installation, so i also installed that, but it didn't help. I then noticed that apt-get offers me packages like python3-redis and python3-simplejson which gets me a bit further, but there seems to be no package for jwcrypto. Also this does not seems like the correct way to do this.

Any words of advice?

CendioOssman commented 1 year ago

I'm afraid not. This is some issue with pip on your system where it fails to install things correctly.

I would suggest reporting the issue to Debian and see if they can help. Python 3.4 is very old now, so it's likely the Python community won't be able to help here.