How do i get cefpython3 on Raspberry pi 3 A+ - python

Trying to get cefpython3 installed on raspberry pi 3 A+, but I'm getting a little bit lost in all of the download / build directions.
simply using pip install cefpython3=66.0 doesnt seem to cut it.
I am new to linux so some of the commands i feel are implied or second nature for experienced linux users, which is a little beyond me atm. help is appreciated.

Unfortunately, cefpython3 doesn't support the Raspberry Pi's ARM processor (yet), so this simply won't work without troublesome hacks like x86 emulation
There's no published ARM packages (though you could perhaps build it yourself) https://pypi.org/simple/cefpython3/
However, there's explicit reference to this being a future/missing feature on GitHub
Work ticket for adding the feature
Support for ARM platforms like Chromebook and Raspberry Pi. Support for Android.
https://github.com/cztomczak/cefpython/projects/7
Some Issues/Pull Requests related to the feature https://github.com/cztomczak/cefpython/issues?q=arm

Related

Alternative install for python libraries?

I am working on a project in my school which requires me to install a couple python libraries. We have been blocked from using the CMD on the school computers which has proved problematic as this is the only way I know of which allows me to easily install any libraries. I also cannot see the location of the python install, I believe they are on some server which we do not have access too (although I am not confident in the matter). I believe each student is allocated space on the server so I can install some things from the internet (however quite a few things are blocked). Most of my class has overcome this by using their own laptops however this isn't an option for me. If needs be I can try install anything at home to bring into school on a memory stick. The school computers use windows 10 and python 3.6. If there's any more information you may need please say. Thank you in advance.
If you can install PyCharm then it has its terminal/cmd through you can install your python library. But important thing is that you must have permission to do it as you said you are on common server of the school.

How to protect my Python scripts on Raspberry Pi?

I have developed a long and complex computer vision algorithm on Python. I insist on the "long and complex" because my very last solution would be to rewrite it with C++ (it's about 3 000 lines long and depends on pure Python libraries)...
This algorithm is embedded on a Raspberry Pi A+. It is possible to plug an SD card to this nanocomputer, so that it includes a Linux system.
So basically my script is in a folder in that SD. When the Raspberry Pi is switched on, it runs the system and then executes my code.
Let's say someone retrieve this SD card. How can I be sure that he won't be able to get to my script ?
I've read it was difficult to obfuscate Python code, is it still true ? Let's say I would rename all of my variables with absurd names, to "scramble the tracks". Are there programs that can retrace the structure of the whole algorithm ?
Regarding the SD card itself, is it possible to protect it ?
What I am actually doing is I deactivate the HDMI and USB port when the Raspberry Pi is launched, and protect the SSH connexion with a password.
Do you think this is enough, or is there other ways someone can get to the script ?
Finally, rewritting it in C++... Would it ensure me that it would be 100% protected ?!
Thank you in advance. :)
I think your best solution would be to compile your Python file using a bundling tool.
See Compiling Python Code.
For example using PyInstaller
pip install pyinstaller
pyinstaller yourprogram.py
Although you can never (even with C++) guarantee full "protection". There are techniques like reverse engineering that can be used to reveal your algorithm.

What is the best way to manage multiplatform video stream using Python?

I have this question in my head for over a year now. And I guess you guys may have the answer.
In some Python GUI app, I need to display a video stream.
I need to record some part of this stream to reread it later.
Moreover, I need to make this python application multi platform (OSX, GNU, Windows)
I am open to many solutions :
Connect the camera to a stream and read the stream with the python app. (RTP + VLC could do the trick)
Use Phonon to read the camera
Create an abstract class to define differents reader and use Quicktime, Win32 or GStreamer in function of the OS.
What is your experience, what would you use to do that ?
I've looked into this periodically as well, and it seems the complexity of the underlying task is just too high to have a simple shortcut abstraction library for your topic question. I would suggest using pyopencv for the specific task you articulate, however. It has a class for webcam input/capture which works across platforms and has a reasonable user-base, in python, posting examples. The latest is 2.3.1 and quite recent. You can get a windows version of it, compiled for you, on the unbelievably helpful site (not mine, just saying):
http://www.lfd.uci.edu/~gohlke/pythonlibs/
Since you ask for experience with a few libraries, I'd say: gstreamer worked for me on linux but was a huge pain to setup on windows and didn't work for me. This was quite some time ago and perhaps it's working better now. vlc.py is a simple library to test and see whether vlc would work for you. It doesn't work on 64 bit windows platforms at the moment; not sure why, but it seems many have reported similar errors, so it depends on how much cross-platform support you need.
Unfortunately, this is not easy to do. I've written most of a program that does video recording/playback on the 3 major desktop OS's. The state of video playback/recording in a "out-of-the-box" way is still unsolved for cross-platform, other than HTML embedding. This has a lot to do with the fact that:
Codecs are proprietary
OS's don't support common codecs
ffmpeg and similar projects have licenses that require you to release your source code if you include them in certain ways
A lot of the video playback players that exist are each rewritten by hand to handle each frame, buffering, streaming, audio sync'ing, and the like.
So you can go with HTML, or you can suffer through the cross-platform issues with the following coding libaries:
Python mplayer
Python vlc
Python opencv
Python pyaudio
Python pyside/pyqt phonon or qtmultimedia
Once you get it working on one development machine, expect it to break when it comes to installation on the end-user machine (distribute via: pyinstaller / appdmg / apt / chocolatey / Inno Setup )
On OSX, brew still has a lot of issues with this, but macports works better (I still had to do a lot of patching)
Linux is by far the easiest.
Windows is in-between the to as far as difficulty
I'd be eager to hear how iOS / Android / Windows RT / Kindle are
The problem is not unique, as even Netflix has yet to have a cross-platform video app: https://www.quora.com/Is-Netflix-building-an-app-for-the-Mac-App-Store?share=1

Python: GUI for Nokia N79 cell phones

Did anybody how to write GUI in Nokia N79 and how ? I mean what packages and something link or tutorial would be helpful. Please.
Python for symbain OS is also known as PyS60.
You need to refer to (the only) book -
Mobile Python: Rapid prototyping of applications on the mobile platform
You can find lots of examples from the book itself here.
You can download PyS60 (SourceForge) and install the interpreter on your symbian phone and your PC. (Note: Installing on your PC is not mandatory, but you won't be able to lots of typing on the mobile directly, so you will need it.)
There is a very nice option for bluetooth console, where you can write on the python interpreter on your PC and it would appear on the python interpreter on the phone, in almost real time, via bluetooth.
Note that there seems to be no ongoing development in PyS60 (and there are lots of missing pieces too), so don't expect to be able to do everything using PyS60 (unlike Symbian C++, which is for the same platform with much higher capabilities than PyS60.)

Cygwin and Python 2.6

New to python (and programming). What exactly do I need from Cygwin? I'm running python 2.6 on winxp. Can I safely download the complete Cygwin? It just seems like a huge bundle of stuff.
Well, I keep running into modules and functionality (i.e. piping output) which suggest downloading various cygwin components. Will cygwin change or modify any other os functionality or have any other side effects?
There are builds of python which don't require cygwin. For instance (from python.org):
link text
Also, there is the .NET version called Iron Python:
link text
cygwin is effectively a Unix subkernel. Setup and installed in its default manner it won't interrupt or change any existing Windows XP functionality. However, you'll have to start the cygwin equivalent of the command prompt before you can use its functionality.
With that said, some of the functionality you're talking about is available in Windows. Piping definitely is. For instance:
netstat -ano | findstr :1433
is a command line I use to make sure my SQL Server is listening on the default port. The output of netstat is being piped to findstr so I only have to see any lines containing :1433.
I would say the simplest option is to try a Linux Distro. I know if your new Linux can be intimidating, but when I looked at Ubuntu and started developing there my life was changed. Ubuntu is bloated (for linux) however, it comes with the things that I would expect a Microsoft based OS to come pre-packaged with. The limitless amount of free software written by creative minds for creative minds is a wonder. The open-source community is great to get involved in for learning and experience. I can vouch that programming on Linux in any language (except myabe . . . .NET ?) will be a much pleasurable experience from the go. One is windows paths, sure you can still create portable Python applications that will port to windows, it just requires another couple lines of replacing characters and escaping them. If they are personal apps this can be bothersome if you do not plan to distribute them.
I found Ubuntu to be a nice balance suited towards both general usability, and development.
Stock Distro:
Python 2.7
Perl
XTerm
MP3 Player that kills WMP and Winamp =+ V.3.0
E-Mail w/ Thunderbird ( much like outlook express by the makers of Fire Fox browser with add-on and extensions)
Empathy (Internet Chat Client for AIM, ICQ, FACEBOOK, MySpace, etc . . it also keeps all your contacts on one list and operates just like AIM for all accounts)
Gwibber (social networking app that compiles the posts made on your twitter and your Facebook wall into a nice desktop widget that also allows you to reply and comment right from the app.)
Multiple Desktop Support: You can change your "desktop view" by pressing a hot key. Each desktop only has the windows you want on it. So you can create a work space, a chat space, a web browsing space and alternate between them quickly. You can also move windows around between work spaces quickly as needed.
Global Hot-Key Mapper: In your administration options you have an OS wide hot-key map. You can launch programs, and many other tasks simply by assigning a hot-key through the default interface.
Bash, Terminal, Shell, XTerm: These CLI (command line interfaces) offer much more functionality as you found than can be generally found in windows. Yes you can pipe output in windows but that's not what this is about. These CLIs allow you to create scripts that can take user input and perform complex tasks that usually would have to be done manually. The BASH is somewhat a programming language of itself; allowing for the assignment of functions, variables, if statements, etc.
I was very surprised that not only was Ubuntu well and ready to handle the developer but it was also plenty user friendly for your grand-parents. It comes with everything you need out of the box (for an average user not a developer) and the developer only requires a few installs. You're also working in open-source software remember. So you are going to be dealing with bugs and you may be stuck waiting on a ticket to be resolved in Windows for some time. If ever.
Also, Ubuntu is boot-able from CD and you can check out the main interface just by doing so. You can also dual-boot it with a screen asking you which partition/disk to boot after POST boot. There is also a tutorial on running it off a thumb drive.
Linux and the speed of your computer: Linux compared to say Windows 7 is EXTREMELY lightweight. What is considered to be a MID level computer such as an AMD Phenom 955 Black Edition x4 and it will run like a high level computer. 1 gib of memory goes quite a bit further in Linux than it does in windows.
The best way to try a Linux distro is as follows. You do not have to install it on the system. You can sandbox it with a virtual environment if you like it and want the speed and overhead improvements of running it stand-alone maybe consider the dual-boot at first followed by the "change".
Download the Linux Dist ISO of your choosing. For new users again Ubuntu, Mint, something simple. Something debian. Mostly due to the ease of using a good package manager. Download Oracle Virtual Box . Follow the instructions, create a new virtual disk, then start the virtual disk with install media placed in DVD drive or virtual DVD drive and install like a normal OS.
In my experience unless it is essential that you be using windows all the time, there is no reason not to try a Linux Distro. Just be careful because something like ArchLinux or SlackWare may scare you off right away; where as distros like Ubuntu, Mint, and others have built in GUI right off the bat. Linux comes in many varieties. It is more loosely coupled than windows you for example you can use any desktop environment you want. Linux is just a kernal. The distros are collections of tools the group maintaining the distro thinks will fit their over-all goal and purpose. Desktop Environments, programming tools, package managers, and other freely licensed pieces of software.

Categories

Resources