Git Product home page Git Product logo

Comments (18)

altendky avatar altendky commented on August 30, 2024 7

I've been reworking the build for PyQt 5.14+ and went ahead and included Linux and macOS as well. Don't get too excited, they are all in progress and the macOS wheel needs the most work... but it exists.

http://permanent.fstab.net/python/wheels/pyqt5_tools-5.14.1.1.6rc1.post144-cp38-cp38-macosx_10_13_x86_64.whl

Mostly I'm posting here in case anyone thinks they could offer any help. I don't have any access to macOS at this point though I've considered buying a basic one or renting a vm or whatever in some cloud somewhere. Recommendations welcome.

If I make any milestones, I will of course share. The two points I think I need to work on next are getting a shared Python build so the Designer and QML plugins will build and putting together a system to collect application dependencies (the .frameworks I think? maybe macholib?).

from pyqt-tools.

jayvdb avatar jayvdb commented on August 30, 2024 1

With altendky/qt-applications#12 & altendky/pyqt-plugins#14 , it should be possible to build wheels for mac os.

I am manually installing them by also hacking a few bits to side-step dependencies, and I am able to get pyqt-tools designer running by prefixing https://github.com/altendky/pyqt-tools/blob/8afee21/src/pyqt5_tools/entrypoints.py#L149 with open as broadly explained at https://stackoverflow.com/questions/1308755/launch-an-app-on-os-x-with-command-line, and also removing the plugins env variable.

e.g. in https://github.com/altendky/qt-tools

diff --git a/setup.py b/setup.py
index 8e290de..9b04f67 100644
--- a/setup.py
+++ b/setup.py
@@ -48,7 +48,6 @@ setuptools.setup(
     include_package_data=True,
     python_requires=">=3.5",
     install_requires=[
-        local_backend.qt_applications_requirement,
         'click~=7.0',
     ],
     entry_points={
diff --git a/src/pep517/local_backend.py b/src/pep517/local_backend.py
index 314631f..99c9ce6 100644
--- a/src/pep517/local_backend.py
+++ b/src/pep517/local_backend.py
@@ -74,7 +74,7 @@ def to_list(*dicts):


 def get_requires_for_build_wheel(config_settings=None):
-    return [*to_list(requirements), qt_applications_requirement]
+    return [*to_list(requirements)]


 def create_script_function_name(path: pathlib.Path):

and https://github.com/altendky/pyqt-plugins/

diff --git a/setup.py b/setup.py
index 0b3ee87..04273de 100644
--- a/setup.py
+++ b/setup.py
@@ -105,10 +105,5 @@ setuptools.setup(
     install_requires=[
         'click',
         'pyqt5=={}'.format(os.environ['PYQT_VERSION']),
-        'qt{}-tools{}{}'.format(
-            qt_major_version,
-            qt_tools_version_specifier,
-            qt_tools_url,
-        ),
     ],
 )

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024 1

With the work from @jayvdb we've got macOS wheels published to PyPI. I presume there will be problems. Please open separate issues so we can track each of them. Now, back to rolling out the Qt 6 builds... Thanks @jayvdb!

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

I'm sorry but pyqt5-tools is Windows-only at this point. I started trying to make a Linux version awhile back but did not complete it. If I remember correctly, that was the travis branch.

Are you writing a custom widget you want available in Qt Designer? That's the primary reason for using pyqt5-tools, it comes with a built copy of the PyQt Designer plugin. Otherwise, you could just install the regular Qt package and use its tools.

from pyqt-tools.

The-Compiler avatar The-Compiler commented on August 30, 2024

I don't have any access to macOS at this point though I've considered buying a basic one or renting a vm or whatever in some cloud somewhere. Recommendations welcome.

You'd likely qualify for a free cloud-hosted Mac Mini from MacStadium's Open Source Project.

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

Thanks for the suggestion. Maybe... I'm not billing for my present pyqt5-tools work but I do sometimes. Not sure I can claim it has three months of active development or an active community. And I would have to make a logo... :] But maybe.

from pyqt-tools.

abnerh69 avatar abnerh69 commented on August 30, 2024

Hi @altendky, maybe we (me and my team) can be the little of help for this pyqt5-tools for macOS and Linux.

from pyqt-tools.

abnerh69 avatar abnerh69 commented on August 30, 2024

On macOS Catalina Version 10.15.3, Python 3.6.5, pip 20.0.2, I received this error message:

pip install pyqt5_tools-5.14.1.1.6rc1.post144-cp38-cp38-macosx_10_13_x86_64.whl

ERROR: pyqt5_tools-5.14.1.1.6rc1.post144-cp38-cp38-macosx_10_13_x86_64.whl is not a supported wheel on this platform.

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

@abnerh69, thanks for the interest and offer, let's see what we can do. If you use IRC you can catch me in #pyqt on freenode for more interactivity. Or stay here. FYI, I do have the Linux stuff running as far as Designer and the PyQt Designer plugin (with my custom widgets).

I went and got myself distracted on some other tasks. I really wish I could just make the GitHub Actions artifacts public but I haven't out how to do that. So here's another manual share. :[

http://permanent.fstab.net/python/wheels/pyqt5_tools-5.14.1.1.6rc1.post173-cp38-cp38-macosx_10_13_x86_64.whl

So, the first issue is you are running Python 3.6. This file is definitely for CPython 3.8 (that's the cp38). I do plan to build for all supported Python versions so that isn't an issue long term, but is for these files. Do you have a copy of 3.8 you can try with? If not but you already have a way you like to manage your Pythons, that's great. I like https://github.com/pyenv/pyenv in Linux and know of a few people that like it on macOS as well. Or, it wouldn't be a big deal to matrix against 3.6 for now as well (GitHub Actions gives 20x parallel builds so...).

If interested, you could try building the branch yourself too. I'll set some defaults or something later but for now you do have to set some environment variables (fill in sensible values like QT_VERSION=5.14.1 rather than the matrix... stuff).

https://github.com/altendky/pyqt5-tools/blob/d5454d902e22ddc2a49b6d113e9a262c9bee832e/.github/workflows/ci.yml#L46-L49

And then build as in ci.yml. Well, maybe drop the --no-clean so pip will clean up after itself. My previous build setup (on master) is terrible, do not run that. It likes to install lots of stuff in your system. The new one in the 5.14 branch should be clean.

https://github.com/altendky/pyqt5-tools/blob/d5454d902e22ddc2a49b6d113e9a262c9bee832e/.github/workflows/ci.yml#L93

Thanks again for the interest and help. Hopefully it doesn't take too much to iron out the rest of the details.

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

It looks like I may be mistaken and if you are logged in to GitHub you can maybe get the wheels (in .zip files) directly yourself.

https://github.com/altendky/pyqt5-tools/pull/41/checks

Then click the CI entry on the left.

image

The artifacts list on the right is what I'm referring to. Let me know if you can download those files directly, that would save me copying to my own site. :]

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

@abnerh69, I just added a macOS py3.6 build so artifacts should go up within maybe 20 minutes.

https://github.com/altendky/pyqt5-tools/actions/runs/43048508

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

Or not, twice now it's hung after installing Qt. I'll have to add some checkpoint prints to see what's up. Or ssh in or somesuch.

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

The hang seems to be miurahr/aqtinstall#91 which seems to apply to Python <3.7.

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

@abnerh69, finally got enough through the aqt issues to get a py36 wheel for you. I haven't done any testing with it.

https://github.com/altendky/pyqt5-tools/suites/483393254/artifacts/2260293

from pyqt-tools.

nems808 avatar nems808 commented on August 30, 2024

I stumbled upon issue thread searching for pyqt designer for mac because I wrote a custom widget (for matplotlib plot) that I want to be available in the designer (the widget works on Windows)
I was able to successfully install your py36 wheel on my mac but I am not sure where to go from here next. How do you start the GUI? I tried running pyqt5designer and this is the error I get:

FileNotFoundError: [Errno 2] No such file or directory: '/Users/myname/UHSLC/QCVirtualEnv/lib/python3.6/site-packages/pyqt5_tools/Qt/bin/designer': '/Users/myname/UHSLC/QCVirtualEnv/lib/python3.6/site-packages/pyqt5_tools/Qt/bin/designer'

The ''/pyqt5_tools/Qt/' folder exists but I only have lib and plugins folders in it. There is no 'bin' folder.

Is there something else I need to do? Thank you for your time.

from pyqt-tools.

altendky avatar altendky commented on August 30, 2024

@nems808, it looks like I missed this message. :[ My apologies for that. I haven't managed to get the dynamic library dependency tree automated for macOS yet. There's still a macOS branch where at someone I (or someone else?) will attempt to get it going. I don't have any timeline for that though.

FYI, @reidliu41

from pyqt-tools.

2369257907 avatar 2369257907 commented on August 30, 2024

(base) kakutooru@MacBook-Air PyQt5-YOLOv5 % pip install pyqt5-tools
Looking in indexes: https://pypi.douban.com/simple/
Collecting pyqt5-tools
Using cached https://pypi.doubanio.com/packages/b7/70/a25aab849a5e38ae78716acde1f917a14d9d819c8600bbb8cf536781f7c5/pyqt5_tools-5.15.4.3.2-py3-none-any.whl (29 kB)
Collecting click
Using cached https://pypi.doubanio.com/packages/c2/f1/df59e28c642d583f7dacffb1e0965d0e00b218e0186d7858ac5233dce840/click-8.1.3-py3-none-any.whl (96 kB)
Collecting python-dotenv
Using cached https://pypi.doubanio.com/packages/2d/10/ff4f2f5b2a420fd09e1331d63cc87cf4367c5745c0a4ce99cea92b1cbacb/python_dotenv-0.21.0-py3-none-any.whl (18 kB)
Collecting pyqt5-tools
Using cached https://pypi.doubanio.com/packages/36/b8/a255b8160e863678aa7d559a4c8c33b5448a6e270992d1464ec9f87ed633/pyqt5_tools-5.15.4.3.1-py3-none-any.whl (28 kB)
Using cached https://pypi.doubanio.com/packages/88/ca/a9cb4816479940d1e0c94c683418c2cc4b4bc2955cd3c5754179a5f95040/pyqt5_tools-5.15.4.3.0.3-py3-none-any.whl (28 kB)
Using cached https://pypi.doubanio.com/packages/e5/cb/34b583ce53ca66803cfe904b11ae87633b1e98121a2a54583674514ae29b/pyqt5_tools-5.15.3.3.2-py3-none-any.whl (29 kB)
Downloading https://pypi.doubanio.com/packages/bb/03/9b9cbf99cb349d9e247110900520545ba6881567a0012736e7ad1203ade0/pyqt5_tools-5.15.3.3.1-py3-none-any.whl (28 kB)
Downloading https://pypi.doubanio.com/packages/40/c6/ca4cca9de41a9f02561c82626089bb3653748117312332f847ed9795f776/pyqt5_tools-5.15.3.3.0.3-py3-none-any.whl (28 kB)
Downloading https://pypi.doubanio.com/packages/50/70/3737fef9d73ef354e458a31617ebb2d14a15c64dc629887af78316448dad/pyqt5_tools-5.15.2.3.2-py3-none-any.whl (29 kB)
Downloading https://pypi.doubanio.com/packages/0c/eb/2b1f5167428987d8699b3da3c814a703a3c3634046b183aecc4ec80ae7da/pyqt5_tools-5.15.2.3.1-py3-none-any.whl (28 kB)
Downloading https://pypi.doubanio.com/packages/7b/86/d60e9975cbce4ff0cc64918faaa9ea0e43560f3ee4f7aeab26a538205f14/pyqt5_tools-5.15.2.3.0.3-py3-none-any.whl (28 kB)
Downloading https://pypi.doubanio.com/packages/da/a3/f791afe43c4bd6e1b2b1f7b4e53a84bc0d12e39a059a47d8d3bf59c8e265/pyqt5_tools-5.15.2.3.0.2-py3-none-any.whl (28 kB)
Downloading https://pypi.doubanio.com/packages/59/01/3da40499fe3053a138b6c9cdde7c0e26394bdc439dc9606ad376b0cbb72a/pyqt5_tools-5.15.2.3.0.1-py3-none-any.whl (28 kB)
Downloading https://pypi.doubanio.com/packages/36/bc/a24fa91aba5220448199a64325e579b06af8a30f8a21e988edaa548d748d/pyqt5_tools-5.15.2.3-py3-none-any.whl (28 kB)
Downloading https://pypi.doubanio.com/packages/9e/5b/b7314b5794c5af409f7ba8a856dbe6b0551ca348d1e455f2d3c7b2e6c39e/pyqt5_tools-5.15.1.3.2-py3-none-any.whl (29 kB)
Downloading https://pypi.doubanio.com/packages/d8/9d/7deb2a083873114f4117bf53af3385468aed45c7628aa763b55df0f67b6d/pyqt5_tools-5.15.1.3.1-py3-none-any.whl (28 kB)
Collecting pyqt5==5.15.1
Downloading https://pypi.doubanio.com/packages/1d/31/896dc3dfb6c81c70164019a6cbba6ab037e3af7653d9ca60ccc874ee4c27/PyQt5-5.15.1.tar.gz (3.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 4.4 MB/s eta 0:00:00
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... -

I am trying to install it with "pip install " pip install pyqt5-tools" on MacOS 13.0.1 M1 chip.
Everything seem all right and there are not crash, but it just stuck at " Preparing metadata (pyproject.toml) ... -" for a long time.
Should I wait for longer time or it means that the project didn't provide support for m1 chip yet?

Thank for you contribution to this project.

from pyqt-tools.

ramayanbindas avatar ramayanbindas commented on August 30, 2024

I am a Window 10 users: And I receiving a problem of installing pyqt5-tools in python version {3.11.1, 3.10.9}.
Problems shown in my pc: Preparing metadata (pyproject.toml) ... error

from pyqt-tools.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.