Bug #10164
closedRequirements installation fails on MacOS
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 about 2 years 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 about 2 years 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 about 2 years 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 about 2 years 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 about 2 years 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 about 2 years 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 about 2 years 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.