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

Impossible to install due to version pins #20

Closed
wants to merge 1 commit into from
Closed

Impossible to install due to version pins #20

wants to merge 1 commit into from

Conversation

wichert
Copy link
Contributor

@wichert wichert commented Dec 12, 2013

flank currently uses exact version pins in its setup.py:

      install_requires=[
          'chardet==1.0.1',
          'dnsq==1.0',
          'expiringdict==1.0',
          'mock==1.0.1',
          'nose==1.2.1',
          'Paste==1.7.5',
          'redis==2.7.1',
          # IMPORTANT! Newer regex versions are a lot slower for
          # mime parsing (100x slower) so keep it as-is for now.
          'regex==0.1.20110315',
      ],

This makes it completely impossible to use flanker in environments that require a different version of any of those dependencies.

If you have a minimum version requirement use that in your requirements, otherwise do not pin a version as well. But please please please never use exact version pins.

If you need exact versions for you environment use something like pip requirements files possible combined with a local virtualenv, or zc.buildout.

@russjones
Copy link
Contributor

Hi Wichert, thanks for the Pull Request. We thought a lot about this and looked at how we can balance the needs of developers using Flanker, the needs of our production environment, and keeping Flanker in a stable state.

In the end what we decided to do was unpin the version numbers on master, but make them greater than or equal. That way Flanker will most likely work for you and will play nicely with your dependencies. However it might not, and if you want to run a stable version with our pinned dependencies you can use the stable branch on Github.

The same will apply to PyPi, if you use the current release, 0.4.4 you get the unpinned version that will most likley work. If you lower the major number down one notch, you get the stable pinned version of 0.3.4.

See 67072a2 and cdbf1b6.

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

Successfully merging this pull request may close these issues.

2 participants