# I'm missing neopixel for python unicornhat library

**URL:** <https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427>\
**Category:** Support\
**Created:** [June 1, 2016, 7:48pm UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427 "2016-06-01T19:48:04Z")\
**Posts on this page:** 13\
**Page:** 1

<div class="post-metadata">

**Author:** ![scrumpyjack](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/scrumpyjack/32/834_2.png) [@scrumpyjack](https://forums.pimoroni.com/u/scrumpyjack)\
**Post date:** [June 1, 2016, 7:48pm UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/1 "2016-06-01T19:48:04Z")

</div>

[unicornhat.py](http://unicornhat.py) calls neopixel

master/python/UnicornHat/unicornhat.py

where can I find the neopixel python source files so I can build the module?

(I’m not on raspbian)

---

<div class="post-metadata">

**Author:** ![scrumpyjack](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/scrumpyjack/32/834_2.png) [@scrumpyjack](https://forums.pimoroni.com/u/scrumpyjack)\
**Post date:** [June 2, 2016, 10:20am UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/2 "2016-06-02T10:20:32Z")

</div>

Reply to self, it’s included in the unicornhat library source.

---

<div class="post-metadata">

**Author:** ![sandyjmacdonald](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/sandyjmacdonald/32/393_2.png) [@sandyjmacdonald](https://forums.pimoroni.com/u/sandyjmacdonald)\
**Post date:** [June 2, 2016, 10:26am UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/3 "2016-06-02T10:26:56Z")

</div>

I was just about to reply with exactly that answer! :-)

[https://github.com/pimoroni/unicorn-hat/tree/master/python/rpi-ws281x](https://github.com/pimoroni/unicorn-hat/tree/master/python/rpi-ws281x)

---

<div class="post-metadata">

**Author:** ![scrumpyjack](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/scrumpyjack/32/834_2.png) [@scrumpyjack](https://forums.pimoroni.com/u/scrumpyjack)\
**Post date:** [June 2, 2016, 11:00am UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/4 "2016-06-02T11:00:57Z")

</div>

do i need [https://github.com/pimoroni/unicorn-hat/tree/master/python/ws2812](https://github.com/pimoroni/unicorn-hat/tree/master/python/ws2812) as well?

---

<div class="post-metadata">

**Author:** ![RogueM](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/roguem/32/311_2.png) [@RogueM](https://forums.pimoroni.com/u/RogueM)\
**Post date:** [June 2, 2016, 11:05am UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/5 "2016-06-02T11:05:31Z")

</div>

why not just run the installer, it will pull everything you need from pip and roll a full working setup for you?

```
curl -sS get.pimoroni.com/unicornhat | bash
```

---

<div class="post-metadata">

**Author:** ![scrumpyjack](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/scrumpyjack/32/834_2.png) [@scrumpyjack](https://forums.pimoroni.com/u/scrumpyjack)\
**Post date:** [June 2, 2016, 11:28am UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/6 "2016-06-02T11:28:28Z")

</div>

Thanks for your response.

I see what you’re suggesting, but that’s not what I’m trying to do. I’m not on raspbian, and I’m building by hand.  
Do i need to build master/python/ws2812, or is master/python/rpi-ws281x enough?

---

<div class="post-metadata">

**Author:** ![sandyjmacdonald](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/sandyjmacdonald/32/393_2.png) [@sandyjmacdonald](https://forums.pimoroni.com/u/sandyjmacdonald)\
**Post date:** [June 2, 2016, 11:43am UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/7 "2016-06-02T11:43:46Z")

</div>

Worth trying `sudo pip install unicornhat` or `sudo python setup.py install` in the `unicorn-hat/python/UnicornHat/` directory?

---

<div class="post-metadata">

**Author:** ![scrumpyjack](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/scrumpyjack/32/834_2.png) [@scrumpyjack](https://forums.pimoroni.com/u/scrumpyjack)\
**Post date:** [June 2, 2016, 12:27pm UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/8 "2016-06-02T12:27:45Z")

</div>

> [@sandyjmacdonald](#):
>
> Worth trying `sudo pip install unicornhat` or `sudo python setup.py install` in the `unicorn-hat/python/UnicornHat/` directory?

yes, that builds me the python unicorn hat module, but building the rpi-ws281x (neopixel) module fails

```
building rpi-ws281x, yay!
running build
running build_py
Compiling ws281x library...
creating build
creating build/lib.linux-armv7l-2.7
copying neopixel.py -> build/lib.linux-armv7l-2.7
running build_ext
building '_rpi_ws281x' extension
creating build/temp.linux-armv7l-2.7
gcc -DNDEBUG -Os -fomit-frame-pointer -pipe -fPIC -Os -fomit-frame-pointer -Os -fomit-frame-pointer -fPIC -Ilib/ -I/usr/include/python2.7 -c rpi_ws281x_wrap.c -o build/temp.linux-armv7l-2.7/rpi_ws281x_wrap.o
gcc -shared -Wl,--as-needed -Wl,--as-needed -Os -fomit-frame-pointer -Os -fomit-frame-pointer build/temp.linux-armv7l-2.7/rpi_ws281x_wrap.o -Llib/ -L/usr/lib -lws2811 -lpython2.7 -o build/lib.linux-armv7l-2.7/_rpi_ws281x.so
/usr/lib/gcc/armv6-alpine-linux-muslgnueabihf/5.3.0/../../../../armv6-alpine-linux-muslgnueabihf/bin/ld: cannot find -lws2811
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

```

---

<div class="post-metadata">

**Author:** ![RogueM](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/roguem/32/311_2.png) [@RogueM](https://forums.pimoroni.com/u/RogueM)\
**Post date:** [June 2, 2016, 12:27pm UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/9 "2016-06-02T12:27:50Z")

</div>

Building by hand is fine if you’d rather use the version in the repo, and what @sandyjmacdonald is pointing you to… it’s the very purpose of the [setup.py](http://setup.py) to roll the dependecies from pip.

If you want to also build the neopixel library from scratch, then I think you should clone the upstream repo and build it using that source, otherwise I see no point doing so as what you’ll end up with is the exact same thing as what is pushished on pip.

But to answer your question, no WS2812 is not used at this point, as noted in the front most README of the repo.

---

<div class="post-metadata">

**Author:** ![scrumpyjack](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/scrumpyjack/32/834_2.png) [@scrumpyjack](https://forums.pimoroni.com/u/scrumpyjack)\
**Post date:** [June 2, 2016, 12:29pm UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/10 "2016-06-02T12:29:39Z")

</div>

yes, that’s a good point, I should use the upstream neopixel source. Good spot.

(although I’ve just noticed that there is no git release tag on [GitHub - jgarff/rpi\_ws281x: Userspace Raspberry Pi PWM library for WS281X LEDs](https://github.com/jgarff/rpi_ws281x)  
which makes my packaging life harder, so perhaps I’ll stick with pimoroni’s fork. Now to get it to build … see above error)

> [@RogueM](#):
>
> as noted in the front most README of the repo.

I got confused by the name NeoPixel-WS2812

---

<div class="post-metadata">

**Author:** ![RogueM](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/roguem/32/311_2.png) [@RogueM](https://forums.pimoroni.com/u/RogueM)\
**Post date:** [June 2, 2016, 12:37pm UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/11 "2016-06-02T12:37:52Z")

</div>

Incidentally, what OS are you running (and is it on a Pi?)… currently the ‘get’ installers are limited to Raspbian but we have hope to enlarge their scope to other Debian based distros in the future, so I’d like to try your environement when the time comes.

---

<div class="post-metadata">

**Author:** ![scrumpyjack](https://sea2.discourse-cdn.com/flex016/user_avatar/forums.pimoroni.com/scrumpyjack/32/834_2.png) [@scrumpyjack](https://forums.pimoroni.com/u/scrumpyjack)\
**Post date:** [June 2, 2016, 12:40pm UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/12 "2016-06-02T12:40:29Z")

</div>

I’m packaging for Alpine Linux, which isn’t debian based (independant -awesome- distro)

---

<div class="post-metadata">

**Author:** ![braghettos](https://avatars.discourse-cdn.com/v4/letter/b/d2c977/32.png) [@braghettos](https://forums.pimoroni.com/u/braghettos)\
**Post date:** [March 17, 2020, 8:08am UTC](https://forums.pimoroni.com/t/im-missing-neopixel-for-python-unicornhat-library/2427/13 "2020-03-17T08:08:44Z")

</div>

Hi @scrumpyjack,  
did you manage to compile all the libraries on Alpine Linux?  
I’m trying to use UnicornHat drivers in an Alpine Linux container on a Rpi Zero WH but the compilation fails. The problem is with the ws281x library.  
How did you compile it?

Thanks,

Diego
