Hi, I think I found a solution to your problem.
I've been having the same problem and the permissions for devices in linux are usually the problem.
try adding running the script as the root user or adding your user into the correct groups.
I was using the 'root' user on Ubuntu/jubilinux and I saw that the device I needed '/dev/ttyMFD1' was owned by the root user and in the 'dialout' group. You can use the commands below to put a user in the groups you need to:
sudo usermod -a -G dialout root
sudo usermod -a -G tty root
The changes won't take effect until you logout and then login again.
type 'groups' to see what groups you are in before and after.
Here is a video
Please let me know if you have any other issues, this problem killed me for days and I tried a bunch of other things that may have contributed to the fix.
Here is a list of wild unedited notes on what I did:
pip install MAVProxy
apt-get install setserial
setserial /dev/ttyMFD1 -a
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
install --upgrade pip
pip remove dronekit
pip uninstall dronekit
pip install dronekit
pip install dronekit_sitl
pip install pyserial
ttyMFD1 is the serial port connecting the Edison to the Pixhawk
If it is helpful, here is the output of pip freeze:
root@jubilinux:~# pip freeze