ywangd / stash

StaSh - Shell for Pythonista
MIT License
1.94k stars 227 forks source link

Unable to install pyzmq with pip - TypeError("unsupported operand type(s) for +: 'OmniClass' and 'list'") #498

Open codecowboy opened 1 year ago

codecowboy commented 1 year ago

I am unable to install pyzmq:

https://pyzmq.readthedocs.io/en/latest/index.html

... 
Downloading package ...
Opening: https://files.pythonhosted.org/packages/bf/7f/24a55c3393d54570f26fa8845e8e42e813bf1b7fb668ed5d3de76b71dbe9/pyzmq-25.0.2.tar.gz

Save as: /private/var/mobile/Containers/Data/Application/5ED2B4FD-8D0B-4A55-A32F-C62914E9CFE3/tmp//pyzmq-25.0.2.tar.gz (1209578 bytes)
[====================] 100.00% | 1.2MiB          
stash: ^C
KeyboardInterrupt: Exit: 0

Extracting archive file ...
Archive extracted.
Running setup file ...
TypeError("unsupported operand type(s) for +: 'OmniClass' and 'list'")
Failed to run setup.py
Fall back to directory guessing ...
Error: Cannot locate packages. Manual installation required.
stash: ^C
KeyboardInterrupt: Exit: 1

is this a quick fix or Is this never going to work because the package will need C libraries?

cclauss commented 1 year ago

Looking at Languages on the right side of https://github.com/zeromq/pyzmq it appears that there is C, C++, and Cython code in that repository. Given Apple's iOS security rules, this might be a blocker. You might open an issue there to see if any Pythonista users in that community can help you.

codecowboy commented 1 year ago

Thanks Christian! There are some other similar issues in the queue here and it looks like the official answer is ' if it needs C libraries, it isn't (and won't be) supported' by pythonista. But I will reach out to someone at pyzmq. Thanks again :)

jsbain commented 1 year ago

If your goal is to run 0mq, then you are out of luck. If libzmq is not already installed as part of pythonista, or along with iOS, then it will not be runnable without jailbreak.

If your goal is to simply be able to have autocomplete for developing on iOS for execution elsewhere, then there may be ways to install pyzmq, but basically just as a non functioning wrapper.