ProjectQ-Framework / ProjectQ

ProjectQ: An open source software framework for quantum computing
https://projectq.ch
Apache License 2.0
871 stars 270 forks source link

Issue with pip installation for version 0.8.0 #451

Closed sam-pf closed 1 year ago

sam-pf commented 1 year ago

I am experiencing a pip installation issue. Please see below. The main error appears to be a name issue: the filename has 'projectq', but metadata has 'unknown' part of the output below. Version 0.8.0 has this issue, while version 0.7.3 installs fine. Any help?

$ python3 -m pip install --user projectq==0.8.0
Collecting projectq==0.8.0
  Downloading projectq-0.8.0.tar.gz (433 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 433.7/433.7 KB 7.5 MB/s eta 0:00:00
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
  WARNING: Generating metadata for package projectq produced metadata for project name unknown. Fix your #egg=projectq fragments.
Discarding https://files.pythonhosted.org/packages/30/88/48c8347cadf6afb7f329e7c06d30880159e2a50b6e8a643c7667c26ffaf0/projectq-0.8.0.tar.gz#sha256=0bcd242afabe947ac4737dffab1de62628b84125ee6ccb3ec23bd4f1d082ec60 (from https://pypi.org/simple/projectq/) (requires-python:>=3.7): Requested unknown from https://files.pythonhosted.org/packages/30/88/48c8347cadf6afb7f329e7c06d30880159e2a50b6e8a643c7667c26ffaf0/projectq-0.8.0.tar.gz#sha256=0bcd242afabe947ac4737dffab1de62628b84125ee6ccb3ec23bd4f1d082ec60 has inconsistent name: filename has 'projectq', but metadata has 'unknown'
ERROR: Could not find a version that satisfies the requirement projectq==0.8.0 (from versions: 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.2.0, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.4, 0.4.1, 0.4.2, 0.5.0.dev0, 0.5.0.dev1, 0.5.0, 0.5.1, 0.6.1, 0.6.1.post0, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.8.0)
ERROR: No matching distribution found for projectq==0.8.0
Takishima commented 1 year ago

Hi,

In just tried a couple of things on my machine:

and did not experience that issue.

Could you give me the version information for the following things?

Also, which OS (and version) are you using? Are you using conda or pyenv?

Takishima commented 1 year ago

Commands

BTW, here's the exact steps I did to test the installation.

cd /tmp

git clone git@github.com:ProjectQ-Framework/ProjectQ projectq

cd projectq/

python3 -m venv venv
. venv/bin/activate
python3 -m pip install -U pip setuptools build wheel
python3 -m build --sdist
python3 -m pip install dist/projectq-0.8.1.dev8.tar.gz 

python3 -m pip uninstall -y projectq
python3 -m pip install 'projectq==0.8.0'

Outputs

Updating virtualenv

python3 -m pip install -U pip setuptools build wheel
Requirement already satisfied: pip in ./venv/lib/python3.10/site-packages (22.2.2)
Collecting pip
  Using cached pip-22.3-py3-none-any.whl (2.1 MB)
Requirement already satisfied: setuptools in ./venv/lib/python3.10/site-packages (63.2.0)
Collecting setuptools
  Using cached setuptools-65.5.0-py3-none-any.whl (1.2 MB)
Collecting build
  Using cached build-0.8.0-py3-none-any.whl (17 kB)
Collecting wheel
  Using cached wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Collecting packaging>=19.0
  Using cached packaging-21.3-py3-none-any.whl (40 kB)
Collecting tomli>=1.0.0
  Using cached tomli-2.0.1-py3-none-any.whl (12 kB)
Collecting pep517>=0.9.1
  Using cached pep517-0.13.0-py3-none-any.whl (18 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
  Using cached pyparsing-3.0.9-py3-none-any.whl (98 kB)
Installing collected packages: wheel, tomli, setuptools, pyparsing, pip, pep517, packaging, build
  Attempting uninstall: setuptools
    Found existing installation: setuptools 63.2.0
    Uninstalling setuptools-63.2.0:
      Successfully uninstalled setuptools-63.2.0
  Attempting uninstall: pip
    Found existing installation: pip 22.2.2
    Uninstalling pip-22.2.2:
      Successfully uninstalled pip-22.2.2
Successfully installed build-0.8.0 packaging-21.3 pep517-0.13.0 pip-22.3 pyparsing-3.0.9 setuptools-65.5.0 tomli-2.0.1 wheel-0.37.1

Installing local wheel

python3 -m pip install dist/projectq-0.8.1.dev8.tar.gz
Processing ./dist/projectq-0.8.1.dev8.tar.gz
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Collecting numpy
  Using cached numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (17.1 MB)
Collecting matplotlib>=2.2.3
  Using cached matplotlib-3.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.8 MB)
Collecting requests
  Using cached requests-2.28.1-py3-none-any.whl (62 kB)
Collecting scipy
  Downloading scipy-1.9.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (33.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 33.7/33.7 MB 33.2 MB/s eta 0:00:00
Collecting networkx>=2
  Using cached networkx-2.8.7-py3-none-any.whl (2.0 MB)
Collecting contourpy>=1.0.1
  Using cached contourpy-1.0.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (295 kB)
Collecting pillow>=6.2.0
  Using cached Pillow-9.2.0-cp310-cp310-manylinux_2_28_x86_64.whl (3.2 MB)
Collecting kiwisolver>=1.0.1
  Using cached kiwisolver-1.4.4-cp310-cp310-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.6 MB)
Requirement already satisfied: pyparsing>=2.2.1 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.1.dev8) (3.0.9)
Collecting python-dateutil>=2.7
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting cycler>=0.10
  Using cached cycler-0.11.0-py3-none-any.whl (6.4 kB)
Collecting fonttools>=4.22.0
  Downloading fonttools-4.38.0-py3-none-any.whl (965 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 965.4/965.4 kB 21.1 MB/s eta 0:00:00
Requirement already satisfied: packaging>=20.0 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.1.dev8) (21.3)
Collecting charset-normalizer<3,>=2
  Using cached charset_normalizer-2.1.1-py3-none-any.whl (39 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2022.9.24-py3-none-any.whl (161 kB)
Collecting idna<4,>=2.5
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.12-py2.py3-none-any.whl (140 kB)
Collecting six>=1.5
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Building wheels for collected packages: projectq
  Building wheel for projectq (pyproject.toml) ... done
  Created wheel for projectq: filename=projectq-0.8.1.dev8-cp310-cp310-linux_x86_64.whl size=2304216 sha256=6a3fda1698920244a5e4f027497df82b4e147cd6bbdfd6a4dc9230680114594f
  Stored in directory: /home/user/.cache/pip/wheels/12/16/5c/3a0874ebfb7de71d4c589b6c19a65971c0b496fafae04966b5
Successfully built projectq
Installing collected packages: urllib3, six, pillow, numpy, networkx, kiwisolver, idna, fonttools, cycler, charset-normalizer, certifi, scipy, requests, python-dateutil, contourpy, matplotlib, projectq
Successfully installed certifi-2022.9.24 charset-normalizer-2.1.1 contourpy-1.0.5 cycler-0.11.0 fonttools-4.38.0 idna-3.4 kiwisolver-1.4.4 matplotlib-3.6.1 networkx-2.8.7 numpy-1.23.4 pillow-9.2.0 projectq-0.8.1.dev8 python-dateutil-2.8.2 requests-2.28.1 scipy-1.9.3 six-1.16.0 urllib3

Installing wheel from Pypi

python3 -m pip install 'projectq==0.8.0'
Collecting projectq==0.8.0
  Using cached projectq-0.8.0.tar.gz (433 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: networkx>=2 in ./venv/lib/python3.10/site-packages (from projectq==0.8.0) (2.8.7)
Requirement already satisfied: numpy in ./venv/lib/python3.10/site-packages (from projectq==0.8.0) (1.23.4)
Requirement already satisfied: requests in ./venv/lib/python3.10/site-packages (from projectq==0.8.0) (2.28.1)
Requirement already satisfied: matplotlib>=2.2.3 in ./venv/lib/python3.10/site-packages (from projectq==0.8.0) (3.6.1)
Requirement already satisfied: scipy in ./venv/lib/python3.10/site-packages (from projectq==0.8.0) (1.9.3)
Requirement already satisfied: pyparsing>=2.2.1 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.0) (3.0.9)
Requirement already satisfied: contourpy>=1.0.1 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.0) (1.0.5)
Requirement already satisfied: pillow>=6.2.0 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.0) (9.2.0)
Requirement already satisfied: cycler>=0.10 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.0) (0.11.0)
Requirement already satisfied: fonttools>=4.22.0 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.0) (4.38.0)
Requirement already satisfied: python-dateutil>=2.7 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.0) (2.8.2)
Requirement already satisfied: packaging>=20.0 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.0) (21.3)
Requirement already satisfied: kiwisolver>=1.0.1 in ./venv/lib/python3.10/site-packages (from matplotlib>=2.2.3->projectq==0.8.0) (1.4.4)
Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.10/site-packages (from requests->projectq==0.8.0) (2022.9.24)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./venv/lib/python3.10/site-packages (from requests->projectq==0.8.0) (1.26.12)
Requirement already satisfied: idna<4,>=2.5 in ./venv/lib/python3.10/site-packages (from requests->projectq==0.8.0) (3.4)
Requirement already satisfied: charset-normalizer<3,>=2 in ./venv/lib/python3.10/site-packages (from requests->projectq==0.8.0) (2.1.1)
Requirement already satisfied: six>=1.5 in ./venv/lib/python3.10/site-packages (from python-dateutil>=2.7->matplotlib>=2.2.3->projectq==0.8.0) (1.16.0)
Building wheels for collected packages: projectq
  Building wheel for projectq (pyproject.toml) ... \done
  Created wheel for projectq: filename=projectq-0.8.0-cp310-cp310-linux_x86_64.whl size=2304155 sha256=5346485ad33daf7600dbbc8f0cd66f91caccea0293e2c2ded5df9e1ea71d8e12
  Stored in directory: /home/user/.cache/pip/wheels/51/63/9a/ad444414576ac9343eeeb608d102af552f2fc7d8e3eee800d0
Successfully built projectq
Installing collected packages: projectq
Successfully installed projectq-0.8.0
sam-pf commented 1 year ago

Thanks for this quick note. I was using python 3.10.6 with pip 22.0.2 in Ubuntu 22.04. Apparently, the problem was with pip, since, prompted by your response, I updated my pip (which went to 22.3), and then problem went away.