Bug #10164
closedRequirements installation fails on MacOS
Added by Martin Cooper over 1 year ago. Updated over 1 year ago.
0%
Description
Running 'pip install -r requirements.txt' on MacOS fails with the same attrdict issue that is conditionally addressed in requirements.txt for Linux by installing an older version of wxPython. See:
https://github.com/wxWidgets/Phoenix/issues/2225#issuecomment-1312804049
Running 'pip install attrdict' and then 'pip install -r requirements.txt' allows wxPython 4.2.0 to install okay.
Updated by Dan Smith over 1 year ago
- Target version set to chirp-py3
Hmm, this is working fine on the macos builder:
python3 -mpip install -r requirements.txt Defaulting to user installation because normal site-packages is not writeable Ignoring wxPython: markers 'platform_system == "Linux"' don't match your environment Ignoring pywin32: markers 'platform_system == "Windows"' don't match your environment Requirement already satisfied: six in /Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.8/lib/python3.8/site-packages (from -r requirements.txt (line 1)) (1.15.0) Collecting wxPython==4.2.0 Downloading wxPython-4.2.0-cp38-cp38-macosx_11_0_universal2.whl (31.4 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 31.4/31.4 MB 26.3 MB/s eta 0:00:00 Collecting pyserial Downloading pyserial-3.5-py2.py3-none-any.whl (90 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 90.6/90.6 kB 5.0 MB/s eta 0:00:00 Collecting future Downloading future-0.18.2.tar.gz (829 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 829.2/829.2 kB 20.0 MB/s eta 0:00:00 Preparing metadata (setup.py): started Preparing metadata (setup.py): finished with status 'done' Collecting requests Downloading requests-2.28.1-py3-none-any.whl (62 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.8/62.8 kB 3.6 MB/s eta 0:00:00 Collecting pillow Downloading Pillow-9.3.0-cp38-cp38-macosx_10_10_x86_64.whl (3.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.3/3.3 MB 40.5 MB/s eta 0:00:00 Collecting numpy Downloading numpy-1.23.5-cp38-cp38-macosx_10_9_x86_64.whl (18.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.1/18.1 MB 29.8 MB/s eta 0:00:00 Collecting idna<4,>=2.5 Downloading idna-3.4-py3-none-any.whl (61 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.5/61.5 kB 1.9 MB/s eta 0:00:00 Collecting certifi>=2017.4.17 Downloading certifi-2022.9.24-py3-none-any.whl (161 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 161.1/161.1 kB 5.9 MB/s eta 0:00:00 Collecting charset-normalizer<3,>=2 Downloading charset_normalizer-2.1.1-py3-none-any.whl (39 kB) Collecting urllib3<1.27,>=1.21.1 Downloading urllib3-1.26.13-py2.py3-none-any.whl (140 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.6/140.6 kB 5.0 MB/s eta 0:00:00 Building wheels for collected packages: future Building wheel for future (setup.py): started Building wheel for future (setup.py): finished with status 'done' Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491056 sha256=d303ab565f6a076e266c8b536548671dd2a76bcd1b6f79953ae76369ade29724 Stored in directory: /Users/cloud/Library/Caches/pip/wheels/01/49/0c/4e0a697824c7bd6516afb22e1af9d51427ccd36c74b05a297e Successfully built future Installing collected packages: pyserial, urllib3, pillow, numpy, idna, future, charset-normalizer, certifi, wxPython, requests WARNING: The scripts pyserial-miniterm and pyserial-ports are installed in '/Users/cloud/Library/Python/3.8/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. NOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications. WARNING: The scripts f2py, f2py3 and f2py3.8 are installed in '/Users/cloud/Library/Python/3.8/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. NOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications. WARNING: The scripts futurize and pasteurize are installed in '/Users/cloud/Library/Python/3.8/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. NOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications. WARNING: The script normalizer is installed in '/Users/cloud/Library/Python/3.8/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. NOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications. WARNING: The scripts helpviewer, img2png, img2py, img2xpm, pycrust, pyshell, pyslices, pyslicesshell, pywxrc, wxdemo, wxdocs and wxget are installed in '/Users/cloud/Library/Python/3.8/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location. NOTE: The current PATH contains path(s) starting with `~`, which may not be expanded by all applications. Successfully installed certifi-2022.9.24 charset-normalizer-2.1.1 future-0.18.2 idna-3.4 numpy-1.23.5 pillow-9.3.0 pyserial-3.5 requests-2.28.1 urllib3-1.26.13 wxPython-4.2.0
Which version of macos? And integrated python or from brew?
Updated by Martin Cooper over 1 year ago
I notice that you don't seem to be starting from a "blank" Python installation ('six' is already installed, for example, per the 5th line of your log), so perhaps 'attrdict' is already installed in your base system?
I'm running Python 3.7.0 on High Sierra (10.13.6). I don't remember how 3.7 got on there, but it was neither homebrew nor macports (neither of which I use).
Updated by Dan Smith over 1 year ago
Nope, it's a snap of a fresh install, six comes from apple already apparently, but that's it:
python3 -mpip freeze six @ file:///AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/python3/python3-103/six-1.15.0-py2.py3-none-any.whl
Are you getting the wheel? This worker is Big Sur, so a little newer, and 3.8 is what apple ships, so perhaps your 3.7 is integrated (should be easy to determine). Perhaps it's too old (EOL'd in 2020) for them to have a wheel for it and thus you're getting different stuff? We can add attrdict, but apparently that's only used on windows, so it'd be somewhat unfortunate to have to do that.
Updated by Dan Smith over 1 year ago
Yeah, 3.8 and newer:
https://pypi.org/project/wxPython/#files
So I'd guess that's the deal. Unless you feel strongly, I'd say we should not add a should-be-win32-only requirement to the file for an EOL'd platform, but we could put a comment in there perhaps if you think it's important.
Updated by Martin Cooper over 1 year ago
A wheel would have been nice - wxPython 4.2.0 took about an hour and a half to build on my MacBook Pro (which won't run anything newer than High Sierra). :-)
No, I don't feel strongly. I got it working after installing attrdict manually, and most people are probably using something newer than I am anyway.
Historically I've been doing most Chirp stuff on Linux, but I've been playing with a little mod that lets me run Chirp on my Mac with my radio connected to a remote Linux box. (I should probably submit that as a new feature.) So when I saw your note about the MacOS build being better, I thought I'd give it a whirl.
Updated by Dan Smith over 1 year ago
- Status changed from New to Closed
CHIRP supports rfc2217 URLs in the port box now, so you can run ser2net
on a remote box and go to town. Works great for sniffing too, if you use hub4com
on Windows to use a linux box for the serial port :)
Anyway, agree, I'll close this and we can refer to it for anyone else that hits it.
Updated by Martin Cooper over 1 year ago
Oh, nice! Thanks for that. That's what I did locally. I've been using tcp_serial_redirect.py
from the pyserial examples, rather than ser2net
, but effectively the same thing.