I am having tremendous difficulty with a supposedly menial task.
I have installed pyodbc using pip3 but can't import it.
Here is the package:
(Django) FTCadms-MacBook-Pro:RiskLab blah$ pip3 show pyodbc
Name: pyodbc
Version: 4.0.30
Summary: DB API Module for ODBC
Home-page: https://github.com/mkleehammer/pyodbc
Author: None
Author-email: None
License: MIT
Location: /Users/blah/Django/lib/python3.7/site-packages
Requires:
Required-by:
When I run python3 and try to import pyodcb I get the error image not found:
(Django) FTCadms-MacBook-Pro:RiskLab blah$ python3
Python 3.7.6 (default, Dec 30 2019, 19:38:26)
[Clang 11.0.0 (clang-1100.0.33.16)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyodbc
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dlopen(/Users/blah/Django/lib/python3.7/site-packages/pyodbc.cpython-37m-darwin.so, 2): Library
not loaded: /usr/local/opt/unixodbc/lib/libodbc.2.dylib
Referenced from: /Users/blah/Django/lib/python3.7/site-packages/pyodbc.cpython-37m-darwin.so
Reason: image not found
>>>
I have found a few suggestions saying I need to recompile odbc which I am pretty sure should not be the best solution.
In the end I gave up and did what I was trying to avoid from the start, which was installing Anaconda.
This solves the issue, but it does not explain it..
Related
First, I installed openssl 1.1.1q package using the following source on CentOS7.
(https://www.openssl.org/source/openssl-1.1.1q.tar.gz)
Second, I installed tcl/tk packages using the following sources.
(https://prdownloads.sourceforge.net/tcl/tcl8.6.12-src.tar.gz
https://prdownloads.sourceforge.net/tcl/tk8.6.12-src.tar.gz)
Finally, I installed python 3.10.6 using the following source.
(https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tar.xz)
However, I can't use tkinter module.
For example, when I import tkinter I get the bellow message.
Python 3.10.6 (main, Aug 18 2022, 11:15:38) [GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.10/tkinter/__init__.py", line 37, in <module>
import _tkinter # If this fails your Python may not be configured for Tk
ModuleNotFoundError: No module named '_tkinter'
The yum doesn't support the python 3.10.x version. How can I resolve this problem without yum?
What should I do to use tkinter?
You are importing tkinter in a wrong way, it is like this
import tkinter
tkinter is a preinstalled library in python, to test it open cmd and type
python -m tkinter
a small window should appear, if it does then it is working
I've post a question, but I think the problem is maybe specific. So I create this new post.
When I test in the python's console psycopg2, I've this error :
this-user#xxx-web:~/my-folder$ python
Python 2.7.9 (default, Jun 29 2016, 13:08:31)
[GCC 4.9.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys,os
>>> import psycopg2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/users/this-user/.local/lib/python2.7/site-packages/psycopg2/__init__.py", line 50, in <module>
from psycopg2._psycopg import BINARY, NUMBER, STRING, DATETIME, ROWID
ImportError: /home/users/this-user/.local/lib/python2.7/site-packages/psycopg2/_psycopg.so: ELF file OS ABI invalid
>>> quit()
this-user#xxx-web:~/massifs$ ll /home/users/this-user/.local/lib/python2.7/site-packages/psycopg2/_psycopg.so
-rwxr-xr-x 1 this-user 214K mai 21 2015 /home/users/this-user/.local/lib/python2.7/site-packages/psycopg2/_psycopg.so*
If I run the python's console in root, it's working !!?? :(
Thanks for help.
F.
Note that your import is from a 'user' install, so if you run it as root, it will import something else (a different copy of the module which happens to work). You may have two installs of the psycopg2 module and the one that is in this-user is not compatible (maybe you copied it directly from another host rather than installing it with pip).
You should probably un-install psycopg2 and re-install it properly with python -m pip uninstall --user psycopg2 and then python -m pip install --user psycopg2, so you get the correct build of the .so file.
I am trying to log in to salesforce.com's sandbox using a URL, ID and PASS. I want to use SOAP API for that. When I try to import beatbox in python3, it throws an ImportError exception. However, I can confirm that beatbox is installed in python3. So what am I doing wrong? Is there any other way to do it?
Python 3.5.0 (default, Dec 6 2015, 17:23:12)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import beatbox
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.5/site-packages/beatbox-32.1-py3.5.egg/beatbox/__init__.py", line 1, in <module>
ImportError: No module named '_beatbox'
>>>
The beatbox module that you probably installed is this : Beatbox 32.1.
Solution 1 : The above beatbox module only supports python 2.x (tested with python 2.7). So, switch to Python 2.x if that is an option.
You can find the source by original author of beatbox here and it has been updated to support python3.
Solution 2 :
Clone the repo in your local machine using git clone https://github.com/superfell/Beatbox.git
Change to the Beatbox directory
Install the module using python setup.py install
For me the issue was I had both beatbox and beatbox3 installed.
beatbox3 is the version for python3.
Once I uninstalled beatbox it worked fine.
I installed opencv using brew and it seemed to install fine. I installed numpy, Scipy and Matplotlib with no problems. I run python and import these modules with no error. But opencv has been a real pain in the neck. I've spent hours try to get this to work.
Python 2.7.6 (v2.7.6:3a1db0d2747e, Nov 10 2013, 00:42:54)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import opencv
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named opencv
It almost seems like homebrew did not put the opencv module in the right directory.
Mike
the module is not named opencv, but cv2, so :
>>> import cv2
>>> cv2.getBuildInformation()
[EDIT]
if you're trying to run something like this ,
then there's bad news for you. opencv comes with it's own python bindings since a very long time now, but apart from that, there exist several outdated 3rd party bindings. the code you're trying to run seems to use one of those, so you can't use it with opencv's builtin api.
I'm installing PyQt4 on an old Linux system (CentOS 4.4) that can't be upgraded for hardware compatibility reasons. I've got Python 2.6, QT4 and SIP installed, and the installation of PyQt4 didn't give me any errors.
When I run Python, this happens:
Python 2.6.2 (r262:71600, May 11 2011, 14:18:37)
[GCC 3.4.6 20060404 (Red Hat 3.4.6-3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt4
>>> import PyQt4.Qsci
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named Qsci
I looked around, and found /usr/local/lib/python2.6/site-packages/PyQt4/uic/widget-plugins/qscintilla.py, which is almost empty of non-comment stuff:
pluginType = MODULE
def moduleInformation():
return "PyQt4.Qsci", ("QsciScintilla", )
Any ideas?
You need to install qscintilla separately. If PyQt is already installed, then you should just have to install the qscintilla python bindings. Hopefully this fixes your issue!