Python Leap motion Libraries not working - python-3.x

I am trying to use my Leap motion in Python 3.4, but I cant even get import Leap to work. The python file I am trying to run is on my desktop, along with all the library files (Leap.py, LeapPython.pyd, Leap.dll, and Leap.lib). Whenever I try to run import Leap in my code, the program just throws this:
ImportError: DLL load failed: The specified module could not be found.
I'm not sure what DLL its talking about, I already tried putting msvcp120.dll and msvcr120.dll in the same directory.
I am using Leap Motion SDK Version V2.3.1.31549 on a 64 bit Windows 10 with the 32 bit version of Python 3.4
All help is appreciated.
Thank You!

The Leap Motion SDK only supports Python 2.7.
Some people have reported success using SWIG to regenerate the Python wrapper for Python 3 (the SWIG .i file is included in the SDK). You could also use the LeapC library to to create a Ctypes-based wrapper, which could support multiple versions of Python.

Related

Loading dll using cytpes returns WinError 127

We use a python script to run a camera as part of an experiment. In practice, the python script uses ctypes to load a dll and this is what is used to access the camera functionality. We recently upgraded to a Windows 10 computer, and I now no longer seem to be able to load the dll.
A stripped down version of the relevant script as follows:
PARENT_DIR = os.path.dirname(os.path.realpath(__file__))
os.add_dll_directory(PARENT_DIR)
x = ct_util.find_library('picam_64bit')
self.picam = ct.WinDLL(x)
On the fourth line, the following error is returned:
[WinError 127] The specified procedure could not be found
A few further notes:
The camera works with the manufacturer-supplied executable.
The code was originally written in Python 2.7 and has been migrated to Python 3.8. The same error occurs in both.
This question is clearly relevant. I have made sure that only one version of Python is installed at a time (right now, 3.8), and there is only one version of the dll on the computer.
The third line returns a sensible value, so Python can clearly `see' the DLL, just not load it.

Python 3.5 How do I list classes/functions available in an import package?

I'm porting all my Python code from 2.7 to 3.5 and keep running into issues where my imported packages don't contain the same classes/functions as they did in 2.7. I DO NOT want to use one of the methods where you can support both 2.7 and 3x. I'm dropping 2.7 entirely.
Is there a way to search an imported package for a specific thing or to list the classes/functions in a nested display?
Right now, I'm trying to find the escape_string() function in mysql-connector-python (v8x) but I keep needing something to explore packages. The docs for the mysql-connector-python package say that it's in mysql.connector.MySQL but there's no such attribute.
Thanks...
If you believe the documentation is wrong, I would open an issue with them and also double and triple check that you have installed the correct package.
To list the classes/functions of a module you can use:
import os # or whatever
print(list(os.__dict__.keys()))

mkl_blas_dgemm_alloc not found in mkl_intel_thread

I developed a a tool in python 3.5 some time ago which currently only uses differential evolution from scipy to do its task. For some reasons I had to change settings on my machine and switch to use python in a virtual environment.
My specs now:
win 10 64 bit
used pip 9.0.1
numpy 1.12.1+mkl
scipy 0.19.0
python 3.6.1
I have a different env using python 2.7 flying around somewhere else.
Now my problem....everytime the differential evolution function gets its first set of data it crashes after returning the differential_evolution step value.
The differential_evolution call can be found under ./libraries/methods/differential_evoluation.py line 76
The pop-up Error is "Entry point 'mkl_blas_dgemm_alloc wasn't found in 'mkl_intel_thread.dll'." And the printed error is "Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll." Please notice that my system language is german therfore the pop-up message was translated by me.
I don't know whether this is relevant but my directory structure is:
>some_place/location1/goal.py
>some_place/location2/env/
I didn't work with virtualenv before and in addition to this i used python 3.5. I'd appreciate any help or instructions on how to add more information to this case to help clarify my problem.
Yours sincerely
OK I'm back with more information. Maybe someone else will stumble uppon it. To be clear: I do not know the fix or reason. I just tried a bunch of stuff.
Using
python 3.5.3,numpy 1.11.1+mkl and scipy-0.18.0 or scipy-0.19.0
made the error disappear. I couldn't try numpy 1.11.1 or 1.11.2 for python 3.6 because this kind soul sadly doesn't offer those versions anymore. I found the 1.11.1 version for python 3.5 somewhere on my disk.
From my testing i can tell that it breaks once i use numpy 1.11.3 or higher. 1.11.1 works fine. Therefore I assume that some changes happened either in numpy between 1.11.1 and 1.11.3 which break it OR in how this kind soul creates/builds his wheels. So I'm going to use python 3.5 for now as i do not have numpy 1.11.1+mkl for python 3.6.
Yours sincerely

TinyTag import error python 3.3

I have been trying to import tinytag into python to be able to read mp3 tags but I keep receiving the same error. This is the code I am running
from tinytag import TinyTag
tag = TinyTag.get('/some/music.mp3)
print(tag.album)
and the error I recieve from this is
ImportError: No module named 'tinytag'
If anyone could give me any information on how to fix this would be greatly appreciated or can suggest another reader to use that is compatible with python 3.
Like you, I'm new to Python and I struggled with this but I worked it out eventually. I'm sure there is better way, but this worked (on windows, with my examples)
I installed a python module called easy_install (bundled with
setuptools). you can Google this. In the directory \Python26\Scripts you should see an exe file called easy_install if this has worked
Then I downloaded TinyTag to my pc eg
\downloads\tinytag-0.6.1.tar.gz
Then in note pad I wrote a small text file called myinstall.bat with
the contents
easy_install C:/downloads/tinytag-0.6.1.tar.gz
pause
then saved it into \Python26\Scripts and ran it (the pause keeps the
window open so you can see it worked)
Subsequently I started using some software called JetBrains to code with (it's commercial but there is a free edition) and that has an install tool built in which is even easier) I hope this helps

Are the drivers for SenseiDB Python 3?

SenseiDB has Python drivers but it doesn't say which version of Python the support. I am wondering if they support version 3?
http://senseidb.github.com/sensei/client-python.html
Their download link is broken, but I dug up the code here:
https://github.com/linkedin/sensei/blob/master/clients/python/sensei/sensei_client_lib.py
The import urllib2 line means it must be Python 2 code. If you've got time to make it compatible with Python 3, they might accept it as a contribution.

Resources