ponty / PyVirtualDisplay

Python wrapper for Xvfb, Xephyr and Xvnc
BSD 2-Clause "Simplified" License
697 stars 78 forks source link

Version lock EasyProcess in setup.py; latest version (0.3) breaks PyVirtualDisplay #48

Closed ray-grointel closed 2 years ago

ray-grointel commented 4 years ago
install_requires = ["EasyProcess"]

A new version of EasyProcess (v0.3) was released. https://pypi.org/project/EasyProcess/#history, that has removed deprecated functions check and check_installed. See: https://github.com/ponty/EasyProcess/commit/a75d640 and https://github.com/ponty/EasyProcess/commit/8f410e0

This is now breaking PyVirtualDisplay (v0.2.1):

...
  File "/usr/local/lib/python3.6/dist-packages/pyvirtualdisplay/display.py", line 34, in __init__
    self._obj = self.display_class(
  File "/usr/local/lib/python3.6/dist-packages/pyvirtualdisplay/display.py", line 52, in display_class
    cls.check_installed()
  File "/usr/local/lib/python3.6/dist-packages/pyvirtualdisplay/xvfb.py", line 38, in check_installed
    ubuntu_package=PACKAGE).check_installed()
TypeError: __init__() got an unexpected keyword argument 'url'
ray-grointel commented 4 years ago

I recognize that the latest version pyvirtualdisplay==0.2.5 doesn't have this issue; but older version users, and current version users who version-lock PyVirtualDisplay in their setups may have issues in the future.

ponty commented 4 years ago

See also #47

ponty commented 4 years ago

I think if PyVirtualDisplay version is locked then EasyProcess version should be also locked. PyVirtualDisplay and EasyProcess are compatible if they are upgraded at the same time. There may be problem if the dependency (EasyProcess) is upgraded only, but I think it is not a bug.

Mrfranken commented 4 years ago

I think if PyVirtualDisplay version is locked then EasyProcess version should be also locked. PyVirtualDisplay and EasyProcess are compatible if they are upgraded at the same time. There may be problem if the dependency (EasyProcess) is upgraded only, but I think it is not a bug.

I agree with you, but not all people know they should upgrade easyprocess if they want to make all test cases pass. So I guess there should be some warning or other msg in pyvirtualdisplay to notify tester they should use right version. :)

ponty commented 4 years ago

"...not all people know they should upgrade easyprocess if they want to make all test cases pass..."

If you have a test case which doesn't pass then please send information about it. (use case,code,error message,versions)

ReimarBauer commented 4 years ago

I merged pull requests for both on conda-forge, conda would take care to upgrade a dependency too if a rule was added. I would only add >= rules. An exact fixation can someone else do for his own package.