# Installing Boto3 onn AirPrime WP7702

**URL:** <https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683>\
**Category:** IoT Modules\
**Created:** [December 13, 2019, 8:44am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683 "2019-12-13T08:44:27Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![ODBWilson](https://avatars.discourse-cdn.com/v4/letter/o/58f4c7/32.png) [@ODBWilson](https://forum.sierrawireless.com/u/ODBWilson)\
**Post date:** [December 13, 2019, 8:44am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/1 "2019-12-13T08:44:27Z")

</div>

Hi,

I like to install Boto3 for AWS on AirPrime WP7702. But it was not successful.

Usually, in normal linux box, just type pip install boto3 to install.

Then I try to download the source file of pip and install  
curl [https://bootstrap.pypa.io/get-pip.py](https://bootstrap.pypa.io/get-pip.py) \> get-pip.py

Then python get-pip.py

File get-pip.py, line 24 in

import pkgutil

ImportError: No module name pkgutil

Actually pkgutil should be installed since python 2.3

The current python version is 2.7.

Do you have any idea? Actually how to install AWS SDK for Python on this device.

Thanks,  
Wilson

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [December 13, 2019, 9:27am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/2 "2019-12-13T09:27:31Z")

</div>

1.download the yocto source and go to ./meta-swi/meta-swi-mdm9x28/recipes-core/images/mdm9x28-image.inc

2.add the following line:  
IMAGE\_INSTALL\_append = " python-pip"

3.go to ./meta-swi/meta-swi-mdm9x28/conf/machine/swi-mdm9x28.conf  
change UBI\_ROOTFS\_SIZE ?= “48MiB”

For the python recipes, you can see  
[https://layers.openembedded.org/layerindex/branch/morty/layer/meta-python/](https://layers.openembedded.org/layerindex/branch/morty/layer/meta-python/)

---

<div class="post-metadata">

**Author:** ![ODBWilson](https://avatars.discourse-cdn.com/v4/letter/o/58f4c7/32.png) [@ODBWilson](https://forum.sierrawireless.com/u/ODBWilson)\
**Post date:** [December 13, 2019, 10:01am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/3 "2019-12-13T10:01:33Z")

</div>

Sorry! Can you explain in details what to do. I am a newbie to this system.

1. Download Yocto source (from where? and what to download?)
2. After adding “python-pip” and changing 48MiB, what should I do?

Thanks,  
Wilson

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [December 13, 2019, 11:39am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/4 "2019-12-13T11:39:12Z")

</div>

You can download the yocto source code here  
[https://source.sierrawireless.com/resources/airprime/software/wp77xx/wp77xx-firmware-release-12-components/#sthash.VQOzZQNn.mvJDJnaN.dpbs](https://source.sierrawireless.com/resources/airprime/software/wp77xx/wp77xx-firmware-release-12-components/#sthash.VQOzZQNn.mvJDJnaN.dpbs)

To make the yocto image, just type make.

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [December 16, 2019, 4:15am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/5 "2019-12-16T04:15:20Z")

</div>

Sorry, to have pkgutil, you should add the following line:  
IMAGE\_INSTALL\_append = " python python-netaddr python-pyroute2"

root@swi-mdm9x28-wp:~# python  
Python 2.7.15 (default, Oct 24 2019, 07:44:18)  
[GCC 7.3.0] on linux2  
Type “help”, “copyright”, “credits” or “license” for more information.

> > > import pkgutil
> > > 
> > > exit()

---

<div class="post-metadata">

**Author:** ![ODBWilson](https://avatars.discourse-cdn.com/v4/letter/o/58f4c7/32.png) [@ODBWilson](https://forum.sierrawireless.com/u/ODBWilson)\
**Post date:** [December 23, 2019, 7:58am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/6 "2019-12-23T07:58:24Z")

</div>

Thanks for your info. To run the bash instead of ash on WP7702, how to enable it?  
Thanks!

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [December 23, 2019, 12:49pm UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/7 "2019-12-23T12:49:09Z")

</div>

What did you see for “cat /etc/shells”?  
In my WP76xx, I can only see “/bin/sh”.

---

<div class="post-metadata">

**Author:** ![ODBWilson](https://avatars.discourse-cdn.com/v4/letter/o/58f4c7/32.png) [@ODBWilson](https://forum.sierrawireless.com/u/ODBWilson)\
**Post date:** [December 24, 2019, 9:44am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/8 "2019-12-24T09:44:05Z")

</div>

cat /etc/shells  
/bin/sh

I am trying to run the following bash script where it was working fine on Raspbian.  
[https://busted.systems/shell-script-for-S3-upload-via-curl-using-AWS-version-4-signatures](https://busted.systems/shell-script-for-S3-upload-via-curl-using-AWS-version-4-signatures)

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [December 24, 2019, 12:59pm UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/9 "2019-12-24T12:59:47Z")

</div>

What will happen if you run on wp77?

---

<div class="post-metadata">

**Author:** ![ODBWilson](https://avatars.discourse-cdn.com/v4/letter/o/58f4c7/32.png) [@ODBWilson](https://forum.sierrawireless.com/u/ODBWilson)\
**Post date:** [December 30, 2019, 10:10am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/10 "2019-12-30T10:10:38Z")

</div>

root@swi-mdm9x28-wp:~/AWS# ./run\_s3\_upload\_1.sh  
./s3-upload.sh: line 69: file: not found  
date: invalid date ‘tomorrow’  
sh: usage: printf FORMAT [ARGUMENT…]  
head: invalid option – ‘1’  
BusyBox v1.27.2 (2019-08-30 09:18:57 UTC) multi-call binary.

Usage: head [OPTIONS] [FILE]…  
Uploading: /home/root/Downloads/20191018001.jpg () to b827eb9b1710:10/\_20191018001.jpg

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [January 10, 2020, 8:07am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/11 "2020-01-10T08:07:47Z")

</div>

so the script can be run ?

---

<div class="post-metadata">

**Author:** ![ODBWilson](https://avatars.discourse-cdn.com/v4/letter/o/58f4c7/32.png) [@ODBWilson](https://forum.sierrawireless.com/u/ODBWilson)\
**Post date:** [January 10, 2020, 11:16am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/12 "2020-01-10T11:16:53Z")

</div>

No, it cannot be run. Just wondering if there is a way to install Boto3 on a SD card and run on it as the OS itself cannot be modified.

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [January 13, 2020, 7:42am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/13 "2020-01-13T07:42:49Z")

</div>

I don’t see BOTO3 package in yocto, can you use boto?  
If yes, please follow the steps below which is tested on my WP76 R13.3:

1. download the python2.7\_packed.tar from here:  
[python2.7\_packed.tar - Google Drive](https://drive.google.com/file/d/1JXO0oCw6kT9AiTGRVSYn3l7JgFXu_G5l/view?usp=sharing)

2. scp the tar file to module /home/root

3. 

mkdir /tmp/temp\_folder  
tar -xf /home/root/python2.7\_packed.tar -C /tmp/temp\_folder  
cp -rf /tmp/temp\_folder/python2.7\_packed/\* /usr/lib/python2.7/  
rm -rf /tmp/temp\_folder/

1. 

root@swi-mdm9x28-wp:~# python  
Python 2.7.15 (default, Jul 8 2019, 12:11:46)  
[GCC 7.3.0] on linux2  
Type “help”, “copyright”, “credits” or “license” for more information.

> > > import boto

---

<div class="post-metadata">

**Author:** ![ODBWilson](https://avatars.discourse-cdn.com/v4/letter/o/58f4c7/32.png) [@ODBWilson](https://forum.sierrawireless.com/u/ODBWilson)\
**Post date:** [January 21, 2020, 10:22am UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/14 "2020-01-21T10:22:50Z")

</div>

Thanks for your head up. Unfortunately the /usr/lib/python2.7 directory is the read-only file system; system is not allowed to copy your python there. Any clue to run from the SD card with your python?

# Errors

…  
…  
cp: can’t create ‘/user/lib/python2.7/zipfile.pyc’: Read-only file system

---

<div class="post-metadata">

**Author:** ![jyijyi](https://sea1.discourse-cdn.com/flex025/user_avatar/forum.sierrawireless.com/jyijyi/32/4766_2.png) [@jyijyi](https://forum.sierrawireless.com/u/jyijyi)\
**Post date:** [January 21, 2020, 12:25pm UTC](https://forum.sierrawireless.com/t/installing-boto3-onn-airprime-wp7702/18683/15 "2020-01-21T12:25:10Z")

</div>

Please see the document here(step8) on how to copy file to /user/lib/python2.7/ :

> **[Example on running additional python library in RAM](https://forum.legato.io/t/example-on-running-additional-python-library-in-ram/4946)**
>
> As there are plenty of python libraries which are large to be integrated in yocto image, this document will show you how to run additional library to RAM so that python can run more library in the py script. Enjoy!
