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

Installing 0.12.1 requires "pipenv lock --pre" #1116

Closed
schinckel opened this issue Oct 22, 2019 · 17 comments
Closed

Installing 0.12.1 requires "pipenv lock --pre" #1116

schinckel opened this issue Oct 22, 2019 · 17 comments
Labels

Comments

@schinckel
Copy link

The latest release of locustio cannot really be managed using pipenv. It includes a dependency of geventhttpclient-wheels, which has only pre-release versions available.

As such, it is not possible to generate a Pipfile.lock file without using pipenv lock --pre.

Doing this will install pre-release versions of other packages, which is problematic. (In my case, it installed a 5.0dev version of coverage, which uses a different coverage file format).

@schinckel schinckel added the bug label Oct 22, 2019
@schinckel
Copy link
Author

(It's possible that this was also present in earlier versions: my last lock file that worked correctly indicated that it worked fine with 0.11.0).

@heyman
Copy link
Member

heyman commented Oct 22, 2019

Thanks for reporting this! I'll try to issue a non pre-release version of geventhttoclient-wheels today.

@heyman
Copy link
Member

heyman commented Oct 22, 2019

If we pinned the version to the prerelease one, would that solve the problem?

@schinckel
Copy link
Author

schinckel commented Oct 22, 2019 via email

@heyman
Copy link
Member

heyman commented Oct 22, 2019

I just tried installing geventhttpclient-wheels using pipenv:

pipenv install geventhttpclient-wheels

Which failed because I didn't use the --pre flag. However the installation succeeded when I ran:

pipenv install geventhttpclient-wheels==1.3.1.dev2

Wouldn't that indicate that it would work if we pinned the version locust's setup.py? I haven't used pipenv much, and not sure how to test it.

@heyman heyman closed this as completed in 7492bb6 Oct 22, 2019
@heyman
Copy link
Member

heyman commented Oct 22, 2019

I pinned the version in master, and now pipenv install -e git+https://github.com/locustio/locust.git#egg=locustio succeeds, so I'm assuming it fixed it.

@martinpeck
Copy link

I'm not sure this has fixed things. The version of gevent being specified for locust is 1.5a2. This is a pre-release version. When I pipenv install locustio I get the same errors as the original poster.

@easherma
Copy link

Same, I get the same errors. @heyman Can you re-open this?

@heyman
Copy link
Member

heyman commented Dec 11, 2019

That's unfortunate. I could issue a non pre-release version of the geventhttpclient-wheels package, though I'd prefer not to, since I think it'd be better to follow the same version number as the official geventhttpclient package.

Gevent 1.5 fixes fixes a bug which would cause Locust's Web UI to crash on Python 3.8 (#1154), so I don't think we'd want to downgrade to gevent 1.4 (the latest non pre-release version).

Therefore, I don't see a good fix for this at the moment, except from maybe documenting it.

@heyman heyman reopened this Dec 11, 2019
@cyberw
Copy link
Collaborator

cyberw commented Jan 17, 2020

@heyman You reopened this, but say there is no good solution :) I guess we are stuck waiting for a new release on geventhttpclient? Or should we "solve" the ticket by just documenting it?

@heyman
Copy link
Member

heyman commented Jan 17, 2020

@cyberw We currently also pin the gevent version to 1.5a2 (to fix a crash on Python 3.8 (#1154)) which also is a pre-release version, so just releasing a non pre-release version of geventhttpclient-wheels won't resolve it.

I think we should wait with a fix until gevent 1.5 is released. Until then I think it's a good idea to leave this open so that it's more discoverable for people running into the issue.

@ghost
Copy link

ghost commented Mar 24, 2020

I encountered the same problem with locustio 0.4.5 version

Could not find a version that matches gevent==1.5a3,>=0.13

The only way i was able to install properly with pipenv is to use :

pipenv install --pre locustio

Hope this helped someone trying to install with pipenv

Also does locustio use grpcio 1.28.0 pre release version too ? as i see grpcio in my piplock file updated from version 1.27.2 to 1.28.0rc3(it's the only one beside gevent that got updated to pre release version

@farridav
Copy link

This has affected me too, used workaround thanks @linhnvhicts

@cyberw
Copy link
Collaborator

cyberw commented Apr 15, 2020

@heyman Now that there is a gevent 1.5 release, I guess we could build a non-prerelease eventhttpclient-wheels version?

@heyman
Copy link
Member

heyman commented Apr 15, 2020

@cyberw Yes, we could do that. Only problem is that the version numbers in our geventhttpclient-wheels package would diverge from geventhttpclient, but maybe that's okay.

@Kilo59
Copy link

Kilo59 commented May 2, 2020

@linhnvhicts
@cyberw

IMO using the pre-release flag is not a good solution, as it will cause ALL dependencies (not just locust deps) in your project to use the lastest pre-release versions, which are often unstable and could cause things to break in unpredictable ways.

You are better of adding a pinned version of geventhttpclient-wheels to your Pipfile as @heyman suggested.

pipenv install geventhttpclient-wheels==1.3.1.dev3

@farridav
Try clearing your pipenv cache and re-locking.
pipenv lock --clear
https://pipenv.pypa.io/en/latest/diagnose/#your-dependencies-could-not-be-resolved

Having said all that...
I haven't had any issues using the latest version of locust in my pipenv managed projects. Pinning geventhttpclient-wheels in setup.py should have fixed that.

cyberw added a commit that referenced this issue May 22, 2020
…d of fork, now that there is a new release (I can trigger new releases later on as well). Relates to #1116
cyberw added a commit that referenced this issue May 25, 2020
…d of fork, now that there is a new release (I can trigger new releases later on as well). Relates to #1116
@cyberw
Copy link
Collaborator

cyberw commented Jun 6, 2020

Fixed (a while back)

@cyberw cyberw closed this as completed Jun 6, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants