Previously, when I made a new release, the newly released one will be the latest version for the users to install. However, I tried several times for making a new release. The latest version is always the old one.
The "latest version" which is old one (1.1.0):
https://pypi.org/project/ANNOgesic/
I do have the newly released ones:
https://pypi.org/project/ANNOgesic/1.1.4/
It also show that this one is the latest version....
But when I tried to install it, the installed package is 1.1.0 which is the old one.
If I run
pip3 install ANNOgesic==1.1.4
I get error messages like these:
ERROR: Could not find a version that satisfies the requirement
ANNOgesic==1.1.4
ERROR: No matching distribution found for ANNOgesic==1.1.4
What I do to upload my code is the following
python3 setup.py sdist bdist_wheel
twine upload dist/*
I do not know what happens...
Okay, I checked the package today. The issue was solved after 5h from my release. I guess the PyPI server was maintenance at that moment.
Related
We use a pipeline that first uses pip wheel to collect all the packages that are needed in the project and then it creates a docker image that calls to pip install on the collected wheels.
The issue I am encountering is that when calling pip wheel, pip is collecting 2 different versions of a package. This has started occurring once a new version of the package is available.
The project has a requirement for an internal library ecs-deployer==10.1.2 and that library has in turn a requirement in the form of: elb-listener>=3.2.1+25,<4
The relevant output of pip wheel with the verbose option says:
Collecting elb-listener>=3.2.1+25,<4
Created temporary directory: /tmp/pip-unpack-zr930807
File was already downloaded /home/user/path/dist/elb_listener-3.2.2+26-py3-none-any.whl
Added elb-listener>=3.2.1+25,<4 from https://internal-repository.com/path/elb_listener/3.2.2%2B26/elb_listener-3.2.2%2B26-py3-none-any.whl#md5=foo (from ecs-deployer==10.1.2->service==1.0.0) to build tracker '/tmp/pip-req-tracker-1tz9t5ls'
Removed elb-listener>=3.2.1+25,<4 from https://internal-repository.com/path/elb_listener/3.2.2%2B26/elb_listener-3.2.2%2B26-py3-none-any.whl#md5=blabla (from ecs-deployer==10.1.2->service==1.0.0) to build tracker '/tmp/pip-req-tracker-1tz9t5ls'
And also:
Collecting elb-listener>=3.2.1+25,<4
Created temporary directory: /tmp/pip-unpack-yfnxim_u
File was already downloaded /home/user/path/dist/elb_listener-3.2.3+27-py3-none-any.whl
Added elb-listener>=3.2.1+25,<4 from https://internal-repository.com/path/elb_listener/3.2.3%2B27/elb_listener-3.2.3%2B27-py3-none-any.whl#md5=bar (from ecs-deployer==10.1.2->service==1.0.0) to build tracker '/tmp/pip-req-tracker-1tz9t5ls'
Then when the pip install is called I get this:
ERROR: Cannot install elb-listener 3.2.2+26 (from /opt/elb_listener-3.2.2+26-py3-none-any.whl) and cad-aws-elb-listener-target-group-builder 3.2.3+27 (from /opt/elb_listener-3.2.3+27-py3-none-any.whl) because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested elb-listener 3.2.2+26 (from /opt/elb_listener-3.2.2+26-py3-none-any.whl)
The user requested elb-listener 3.2.3+27 (from /opt/elb_listener-3.2.3+27-py3-none-any.whl)
We use pip 20.2.3 with the option --use-feature=2020-resolver
Is it normal that pip wheel collects several versions of the same package?
If so, can I indicate in any way to either pip wheel to only collect one of the versions or to pip install to only use the latest version?
If not, is there any way to solve this problem? I guess changing the requirement to elb-listener>=3.2.1+27,<4 would solve it, but we don't have direct access to that library and it would take a while for other team to change it.
As per #sinoroc comment, upgrading the python to 3.10 and pip version to 21.2.4 solved this particular issue.
As far as I understood, "local version identifiers" such as 3.2.1+25 are far from usual, apparently they are not meant to be used anywhere public (like PyPI), and that might be the reason for all the trouble here. I am really not sure how well they are supported by Python packaging tools and maybe they confuse the dependency resolution.
Local version identifiers SHOULD NOT be used when publishing upstream projects to a public index server, but MAY be used to identify private builds created directly from the project source. Local version identifiers SHOULD be used by downstream projects when releasing a version that is API compatible with the version of the upstream project identified by the public version identifier, but contains additional changes (such as bug fixes). As the Python Package Index is intended solely for indexing and hosting upstream projects, it MUST NOT allow the use of local version identifiers.
-- "Local version identifiers" section of _PEP 440
I am using anaconda3 with Python Version 3.8.
I followed the installation instructions for Cython VST loader per the package’s website (https://pypi.org/project/cython-vst-loader/).
This entailed:
Updating Anaconda compiler (from https://anaconda.org/conda-forge/compilers , 2nd line of code worked)
PIP installing ‘make’ via Anaconda command line
Not sure how to install/update headers, this may or may not be causing the error.
When I attempt to pip install cython_vst_loader in the command line, I receive the following deluge of errors.
Any help or resources on how to address this problem would be greatly appreciated, thank you!
With the new 0.3.6 version of the loader (released 15 minutes ago), Windows is supported and binaries are provided. Also, project goals are clarified in Readme, you might want to check them as well https://github.com/hq9000/cython-vst-loader/blob/master/README.md
You can install the new version normally with pip.
I have here a package on pypi that was published by command line, but no-one can download it (except on the laptop I packaged it up on):
pip install webdriver_chauffeur
Collecting webdriver_chauffeur
Could not find a version that satisfies the requirement webdriver_chauffeur (from versions: )
No matching distribution found for webdriver_chauffeur
pip install webdriver-chauffeur
Collecting webdriver-chauffeur
Could not find a version that satisfies the requirement webdriver-chauffeur (from versions: )
No matching distribution found for webdriver-chauffeur
It is here https://pypi.python.org/pypi?%3Aaction=pkg_edit&name=webdriver_chauffeur
Pretty sure I followed this one https://axiacore.com/blog/basic-steps-publish-python-package/
Why is this package not installable?
I maintain a package on pypi and just hit this issue. I resolved it by hitting "update release" on the pypi version page of my package. If this problem persists you might consider letting the package maintainer know about the workaround.
I know it's an old thread, but I ran into a similar issue and this thread popped up on Google.
I faced the same error message. The problem was, that I set a Python version constraint of >=3.9. because that's the version I develop in. However, the environment where I tried to run pip install <...> was using Python 3.7. By relaxing the constraint in setup.py (or pyproject.toml in my case) the issue was resolved.
Dozens of people have the same issue, it seems pypi isn't stable and you should run your own pip server to use your packages
There appears to be a stable and unstable version here: https://pypi.python.org/pypi/gevent#downloads
It's not entirely clear to me what the distinctions are. I'm guessing there's a stable version on pip, described under the heading "Get gevent", and there's a separate unstable version on github under the heading "Development".
I simply want to install the stable version for production usage. pip install gevent doesn't seem to be the proper way to do this, since it installs something that has a syntax error in line 289 of hub.py, and looking in there I realized that it's a completely different version of gevent from the most up-to-date version on Github.
How do I install gevent?
It looks like the current version on pypi is a release candidate and partially supports Python 3. If you want a stable version (that doesn't support python 3.x) you could try specifying the specific version when you invoke pip
pip install gevent==1.0.2
Alternately, you can install the version based on a specific commit on Github
pip install git+git://github.com/gevent/gevent.git#egg=gevent
This is what they are referring to as the development version. This means that you will be running the code as it exists on Github which could potentially be buggy but will include all latest changes to the codebase.
As a sidenote, if you're having issues with the version currently on pypi, you can see if the issues are reproducible using the most recent Github changes and submit a bug report to the developers.
Newbie here. I've created my first Python package and I managed to register it on Pypi, as well as upload the tar.gz file. Now whenever I want to run:
pip install myPackage
I get this error in console:
Could not find a version that satisfies the requirement myPackage (from versions: 1.0dev)
No distributions matching the version for flashCardStudy
Storing debug log for failure in /Users/xxx/Library/Logs/pip.log
I believe this is because my version is development version I guess? So yeah, I can install it by adding --pre argument but what I'd really like is to turn it into a normal version so to speak.
I've tried figuring out how to do it and looking at some docs but I can't still figure it out. In my setup.py my version is set to '1.0' so I don't see where to problem is. If anyone wants to have a look at the file, here it is.
So I found the problem. I used utility called Paster which generates package structure, including setup.py and setup.cfg files among others. My utility hasn't been updated in a while and meanwhile submission rules to PyPi have changed. It now requires certain setup.py structure and unless it passes via pip, it's labeled as development version - which pip does not install without --pre argument.
So I just went to PyPi pages and looked at setup.py tutorial, did it their way and now it works.