Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does not install under Python 3.7 #853

Closed
anjackson opened this issue Jun 29, 2023 · 4 comments
Closed

Does not install under Python 3.7 #853

anjackson opened this issue Jun 29, 2023 · 4 comments

Comments

@anjackson
Copy link
Contributor

Describe the bug

Using a fresh v3.7 virtualenv, installation and running failed because we are not compatible with recent versions of Werkzeug. To build right now, I have to use:

pip install "Werkzeug<2.2.0"

If not, there is an error that breaks the installation process:

pywb 2.8.0.dev0 requires markupsafe<2.1.0, but you have markupsafe 2.1.3 which is incompatible.

Steps to reproduce the bug

virtualenv -p python3.7 .venv
source .venv/bin/activate
python setup.py install

Expected behavior

Install runs, logs get to the point of saying...

Finished processing dependencies for pywb==2.8.0.dev0

Environment

RHEL 7.x

Additional context

I'm happy for myself and @ldbiz to look at fixing this, but I'd like to know how you want to pursue this (given also #385):

  • Are you happy to pin Werkzeug<2.2.0? Or should we look at upgrading (which means dropping at least Python 3.7 as Werkzeug>=2.3.0 does not support it)?
  • Is it okay if we add some more CI tests that do things like install the package and run some of the commands? (Rather than just running tox?) Or can/should we do that via tox?
  • Where can we add dev environment documentation? e.g. we are running some older OSs which mean we're not compatible with later versions of urllib3 (due to the underlying OpenSSL version). Where should we document the pip install "urllib3<2.0" that's needed to make it work?
@edsu
Copy link
Contributor

edsu commented Jun 29, 2023

I don't know if it's helpful but I got pretty far along upgrading various dependencies in #839.

@anjackson
Copy link
Contributor Author

Thanks, that's helpful.

But, it's weird, because now a very slight different install method seems to work much better.

pip install .

goes

...
INFO: pip is looking at multiple versions of werkzeug to determine which version is compatible with other requirements. This could take a while.
Collecting werkzeug (from pywb->ukwa-pywb==2.6.9)
  Using cached Werkzeug-2.2.2-py3-none-any.whl (232 kB)
  Using cached Werkzeug-2.2.1-py3-none-any.whl (232 kB)
  Using cached Werkzeug-2.2.0-py3-none-any.whl (232 kB)
  Using cached Werkzeug-2.1.2-py3-none-any.whl (224 kB)
...

And so works fine.

@ldbiz
Copy link

ldbiz commented Jul 10, 2023

Invoking setup.py directly is apparently deprecated. Some context and "python setup.py..." etc alternatives here from one of the core python developers, relevant peps referenced within:

https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html

@anjackson
Copy link
Contributor Author

Aside: I found this somewhat useful https://stackoverflow.com/questions/15724093/difference-between-python-setup-py-install-and-pip-install/15731459#15731459

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants