[英]Installing PyQt5 in pyenv created virtual envirionment
I'm currently struggling to install a python package in a virtual environment.我目前正在努力在虚拟环境中安装 python package。 The set-up is the following: I have an M1 mac and with it, I have the system python installations located in
/usr/bin/python
(v 2.7.18) and usr/bin/python3
(v 3.8.9).设置如下:我有一个 M1 mac,我在
/usr/bin/python
(v 2.7.18) 和usr/bin/python3
(v 3.8.9) 中安装了系统 python。 Since I don't really like messing with these, I have installed pyenv
and pyenv-virtualenv
over brew
.因为我不太喜欢弄乱这些,所以我在
brew
上安装了pyenv
和pyenv-virtualenv
。 I installed Python 3.10.1 and created a virtual environment, let's call it test
.我安装了 Python 3.10.1 并创建了一个虚拟环境,我们称之为
test
。 I also added the following lines to .zshrc
我还在
.zshrc
中添加了以下行
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
alias brew='env PATH="${PATH//$(pyenv root)\/shims:/}" brew'
PATH=$(pyenv root)/shims:$PATH
(Most of this was done by following the explanations on the github page of pyenv ). (大部分是按照 pyenv 的github 页面上的解释完成的)。
I'm now trying to install some packages in test
.我现在正在尝试在
test
中安装一些包。 numpy, scipy
, etc worked perfectly but when I try to install PyQt5
with pip
I get an error. numpy, scipy
等工作正常,但是当我尝试使用pip
安装PyQt5
时,出现错误。
❯ pip install PyQt5
Collecting PyQt5
Using cached PyQt5-5.15.6.tar.gz (3.2 MB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... error
ERROR: Command errored out with exit status 1:
command: /Users/UserName/.pyenv/versions/3.10.1/envs/simpy/bin/python3.10 /Users/UserName/.pyenv/versions/3.10.1/envs/simpy/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/tmp2ofsepfy
cwd: /private/var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/pip-install-5rev2dd7/pyqt5_3892c9f35c2f41a186bcd36237d536d7
Complete output (29 lines):
Traceback (most recent call last):
File "/Users/UserName/.pyenv/versions/3.10.1/envs/simpy/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 156, in prepare_metadata_for_build_wheel
hook = backend.prepare_metadata_for_build_wheel
AttributeError: module 'sipbuild.api' has no attribute 'prepare_metadata_for_build_wheel'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/UserName/.pyenv/versions/3.10.1/envs/simpy/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in <module>
main()
File "/Users/UserName/.pyenv/versions/3.10.1/envs/simpy/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
json_out['return_val'] = hook(**hook_input['kwargs'])
File "/Users/UserName/.pyenv/versions/3.10.1/envs/simpy/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 160, in prepare_metadata_for_build_wheel
whl_basename = backend.build_wheel(metadata_directory, config_settings)
File "/private/var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/pip-build-env-vyb7aqa6/overlay/lib/python3.10/site-packages/sipbuild/api.py", line 51, in build_wheel
project = AbstractProject.bootstrap('pep517')
File "/private/var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/pip-build-env-vyb7aqa6/overlay/lib/python3.10/site-packages/sipbuild/abstract_project.py", line 83, in bootstrap
project.setup(pyproject, tool, tool_description)
File "/private/var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/pip-build-env-vyb7aqa6/overlay/lib/python3.10/site-packages/sipbuild/project.py", line 587, in setup
self.apply_user_defaults(tool)
File "/private/var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/pip-install-5rev2dd7/pyqt5_3892c9f35c2f41a186bcd36237d536d7/project.py", line 63, in apply_user_defaults
super().apply_user_defaults(tool)
File "/private/var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/pip-build-env-vyb7aqa6/overlay/lib/python3.10/site-packages/pyqtbuild/project.py", line 70, in apply_user_defaults
super().apply_user_defaults(tool)
File "/private/var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/pip-build-env-vyb7aqa6/overlay/lib/python3.10/site-packages/sipbuild/project.py", line 234, in apply_user_defaults
self.builder.apply_user_defaults(tool)
File "/private/var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/pip-build-env-vyb7aqa6/overlay/lib/python3.10/site-packages/pyqtbuild/builder.py", line 67, in apply_user_defaults
raise PyProjectOptionException('qmake',
sipbuild.pyproject.PyProjectOptionException
----------------------------------------
WARNING: Discarding https://files.pythonhosted.org/packages/3b/27/fd81188a35f37be9b3b4c2db1654d9439d1418823916fe702ac3658c9c41/PyQt5-5.15.6.tar.gz#sha256=80343bcab95ffba619f2ed2467fd828ffeb0a251ad7225be5fc06dcc333af452 (from https://pypi.org/simple/pyqt5/) (requires-python:>=3.6). Command errored out with exit status 1: /Users/UserName/.pyenv/versions/3.10.1/envs/simpy/bin/python3.10 /Users/UserName/.pyenv/versions/3.10.1/envs/simpy/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py prepare_metadata_for_build_wheel /var/folders/yk/q1gxptj56gj5n3jt8l48xj580000gn/T/tmp2ofsepfy Check the logs for full command output.
What exactly is going on here?这里到底发生了什么? Is this related to the m1 chip or the set-up of the virtual environment?
这与m1芯片或虚拟环境的设置有关吗? How can I fix this?
我怎样才能解决这个问题?
On the suggestion of @pedro_bb7 I downgraded Python to 3.9.9 (since PyQt5
is not yet ready for Python 3.10.0) and also tried installing an older versions ( 5.14.1/2/, 5.15.0/1/2/3/4/5/6
) of PyQt5
over the command根据@pedro_bb7 的建议,我将 Python 降级到 3.9.9(因为
PyQt5
还没有为 Python 3.10.0 做好准备)并且还尝试安装旧版本( 5.14.1/2/, 5.15.0/1/2/3/4/5/6
) of PyQt5
通过命令
❯ pip install PyQt5==5.14.0
Collecting PyQt5==5.14.0
Using cached PyQt5-5.14.0.tar.gz (3.2 MB)
ERROR: PyQt5==5.14.0 from https://files.pythonhosted.org/packages/7c/5b/e760ec4f868cb77cee45b4554bf15d3fe6972176e89c4e3faac941213694/PyQt5-5.14.0.tar.gz#sha256=0145a6b7de15756366decb736c349a0cb510d706c83fda5b8cd9e0557bc1da72 has a pyproject.toml file that does not comply with PEP 518: 'build-system.requires' contains an invalid requirement: 'sip >=5.0.1 <6'
As you can see, still no luck...如您所见,仍然没有运气......
Probably you need to upgrade pip to the latest, as suggested:可能您需要按照建议将 pip 升级到最新版本:
pip install --upgrade pip
https://stackoverflow.com/a/67606704/11381650 https://stackoverflow.com/a/67606704/11381650
EDIT: it's not yet supported for Python 3.10
as you can see:编辑:
Python 3.10
尚不支持,如您所见:
https://github.com/altendky/pyqt-tools/issues/98 https://github.com/altendky/pyqt-tools/issues/98
and try different versions of PyQt
, could you try 5.14.0
for Python 3.9?并尝试不同版本的
PyQt
,您可以为 Python 3.9 尝试5.14.0
吗?
https://stackoverflow.com/a/59797479/11381650 https://stackoverflow.com/a/59797479/11381650
Like LemurPwned said in How can I run pyqt5 on my Mac with M1chip (ppc64el architecture)?正如 LemurPwned 在How can I run pyqt5 on my Mac with M1chip (ppc64el architecture) 中所说的那样?
pyqt6 is now easily installable via pip on M1/M2 Macs pyqt6 现在可以通过 pip 在 M1/M2 Mac 上轻松安装
You can install that via $pip install pyqt6您可以通过 $pip install pyqt6 安装它
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.