dsoprea / GDriveFS

An innovative FUSE wrapper for Google Drive.
GNU General Public License v2.0
663 stars 96 forks source link

Update requirements.txt #186

Closed asreimer closed 6 years ago

asreimer commented 6 years ago

Trying to install gdrivefs with pip breaks other packages that require six>=1.7.3

The requirements.txt is too restrictive. I've successfully installed gdrivefs and ran it with six==1.11.0, fusepy==2.0.4, and google-api-python-client==1.6.4.

Current workaround is to install gdrivefs and then update six afterwards.

While we're at it, perhaps the rest of the restrictions can be changed to >=? the newest version of httplib2 also works.

Cheers!

dsoprea commented 6 years ago

It's dangerous to indiscriminantly bump the versions without there being a functional requirement. There's still always going to be version conflicts among coexisting packages on the same system. The best solution is to use virtualenv, where each application lives in a separate container with a separate set of packages installed locally in that container. However, this isn't ideal when it comes to publicly-released end-user software either (as opposed to a commercial production environment where you definitely want to be in control of all dependencies required by your software).

The compromise is to remove or loosen the version requirements for dependencies that are likely to change and/or cause inconvenient version conflicts.

So, I did that here: https://github.com/dsoprea/GDriveFS/pull/187 . Among other things, I've also added a second _requirementsfreeze.txt file that still retains all versions so that we won't lose track of this knowledge, where we can also use it in the event that there are anomalies reported that might related to an incompatible version.