From baf918d985a148491504e2453255b2209e1b51f6 Mon Sep 17 00:00:00 2001 From: Chad Smith Date: Wed, 19 May 2021 23:54:41 -0700 Subject: [PATCH] fix ImportError in v0.13 release branch (#392) * pin dependencies * update changelog * update changelog text --- MANIFEST.in | 2 +- docs/changelog.md | 3 +++ gdbgui/VERSION.txt | 2 +- noxfile.py | 1 + requirements.txt | 24 +++++++++++++++++++++--- setup.py | 14 ++------------ 6 files changed, 29 insertions(+), 17 deletions(-) diff --git a/MANIFEST.in b/MANIFEST.in index 5e140dc5..5fa68552 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -1,5 +1,6 @@ include README.md include LICENSE +include requirements.txt graft gdbgui prune examples @@ -20,7 +21,6 @@ exclude jest.config.js exclude make_executable.py exclude mkdocs.yml exclude package.json -exclude requirements.txt exclude tsconfig.json exclude tslint.json exclude webpack.config.js diff --git a/docs/changelog.md b/docs/changelog.md index 35700be5..fdf64a9c 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -1,5 +1,8 @@ # gdbgui release history +## 0.13.2.2 +* Fix `ImportError: cannot import name 'NoGdbProcessError'` by pinning dependencies to ensure they are all compatible. Note that this means the only way gdbgui should be run is by installing inside a virtual environment, installing with pipx (as it uses virtual environments), or to run the executable build from gdbgui's release page. + ## 0.13.2.1 * No end user changes. This release builds the gdbgui executables with GitHub actions. diff --git a/gdbgui/VERSION.txt b/gdbgui/VERSION.txt index d087633b..ecabaaef 100644 --- a/gdbgui/VERSION.txt +++ b/gdbgui/VERSION.txt @@ -1 +1 @@ -0.13.2.1 +0.13.2.2 diff --git a/noxfile.py b/noxfile.py index 6317dfc4..49ad9f05 100644 --- a/noxfile.py +++ b/noxfile.py @@ -93,6 +93,7 @@ def develop(session): session.log("To use, run: '%s'", command) +@nox.session(python="3.7") def build(session): session.install("setuptools", "wheel", "twine") session.run("rm", "-rf", "dist", external=True) diff --git a/requirements.txt b/requirements.txt index 6ef9d1e7..390e6ebb 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,21 @@ -# https://caremad.io/posts/2013/07/setup-vs-requirement/ ---index-url https://pypi.org/simple/ --e . +bidict==0.21.2 +Brotli==1.0.9 +click==7.1.2 +dnspython==2.0.0 +eventlet==0.25.2 +Flask==0.12.5 +Flask-Compress==1.8.0 +Flask-SocketIO==2.9.6 +gevent==1.5.0 +gevent-websocket==0.10.1 +greenlet==0.4.16 +itsdangerous==1.1.0 +Jinja2==2.11.2 +MarkupSafe==1.1.1 +monotonic==1.5 +pygdbmi==0.9.0.3 +Pygments==2.7.3 +python-engineio==3.14.2 +python-socketio==4.6.1 +six==1.15.0 +Werkzeug==0.16.1 \ No newline at end of file diff --git a/setup.py b/setup.py index 3f2f1eeb..fbead67b 100644 --- a/setup.py +++ b/setup.py @@ -7,17 +7,7 @@ CURDIR = os.path.abspath(os.path.dirname(__file__)) EXCLUDE_FROM_PACKAGES = ["tests"] -REQUIRED = [ - "Flask>=0.12.2, <1.0", # http server - "Flask-Compress>=1.4.0, <2.0", # to compress flask responses - "Flask-SocketIO>=2.9, <3.0", # websocket server - "gevent>=1.2.2, <2.0", # websocket handling - "gevent-websocket>=0.10.1, <0.11", # also websocket - "eventlet>=0.25.0, <0.26", # also websocket - "pygdbmi>=0.9.0.0, <1.0", # parse gdb output - "Pygments>=2.2.0, <3.0", # syntax highlighting -] - +REQUIREMENTS = io.open(os.path.join(CURDIR, "requirements.txt"), "r", encoding="utf-8").readlines() README = io.open(os.path.join(CURDIR, "README.md"), "r", encoding="utf-8").read() VERSION = ( io.open(os.path.join(CURDIR, "gdbgui/VERSION.txt"), "r", encoding="utf-8") @@ -61,7 +51,7 @@ ] }, zip_safe=False, - install_requires=REQUIRED, + install_requires=REQUIREMENTS, classifiers=[ "Intended Audience :: Developers", "Operating System :: OS Independent",