Linux pyarrow undefined symbol - python-3.x

I am running Python 3.7.2 and using Miniconda3 to create a new environment named test-env. I have installed the pyarrow package from the default channel into this environment; however, when I try and import pyarrow, the Python interpreter gives me an undefined symbol error:
Import Error: /test-env/lib/python3.7/site-packages/pyarrow/lib.cpython-37m-x86_64-linux-gnu.so: undefined symbol: _ZNK5arrow6Status8ToStringB5cxx11Ev
From other threads on SO, I gather that this is due to a compiler incompatibility. I'm not a developer so I'm not sure how to fix this.

I had the same error after I installed by conda install, after I conda uninstall, I did pip install, the issue went away.
>>> import pyarrow
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/dv6/anaconda3/envs/spark/lib/python3.6/site-
packages/pyarrow/__init__.py", line 54, in <module>
from pyarrow.lib import cpu_count, set_cpu_count
ImportError: /home/dv6/anaconda3/envs/spark/lib/python3.6/site-
packages/pyarrow/lib.cpython-36m-x86_64-linux-gnu.so: undefined symbol:
_ZNK5arrow5Field8B5cxx11Ev
>>> quit()
Then I conda uninstall
(spark) dv6#dv6:~$ conda uninstall pyarrow
Then I pip install
(spark) dv6#dv6:~$ pip install pyarrow --user
Collecting pyarrow
Downloading pyarrow-0.16.0-cp36-cp36m-manylinux2014_x86_64.whl (63.1 MB)
|████████████████████████████████| 63.1 MB 25 kB/s
Requirement already satisfied: numpy>=1.14 in
./anaconda3/envs/spark/lib/python3.6/site-packages (from pyarrow) (1.18.1)
Requirement already satisfied: six>=1.0.0 in
./anaconda3/envs/spark/lib/python3.6/site-packages (from pyarrow) (1.14.0)
Installing collected packages: pyarrow
Successfully installed pyarrow-0.16.0
(spark) dv6#dv6:~$ python -c "import pyarrow"
(spark) dv6#dv6:~$
Here is my Python version
(spark) dv6#dv6:~$ python
Python 3.6.10 |Anaconda, Inc.| (default, Jan 7 2020, 21:14:29)
[GCC 7.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>

I would recommend opening a ticket at https://issues.apache.org/jira/projects/ARROW/issues/ARROW-4774?filter=allopenissues
Provide how you installed pyarrow (pip or conda), which distribution of linux. If you can reproduce this in a clean environment, even better.

Related

How to get Python3 to find installed module?

I'm attempting to install xlsxwriter on CentOS centos-release-7-6.1810.2.el7.centos.x86_64
when I install xlsxwriter:
703404669#bioitutil2:~$ sudo pip3 install xlsxwriter
Requirement already satisfied: xlsxwriter in /usr/lib64/python3.4/site-packages (1.2.6)
and when I attempt to load the module, I get a contradictory message:
703404669#bioitutil2:~$ python3
Python 3.6.8 (default, Aug 7 2019, 17:28:10)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import xlsxwriter
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'xlsxwriter'
I've also tried pip3.6, but get more errors:
703404669#bioitutil2:~$ sudo pip3.6 install xlsxwriter
Traceback (most recent call last):
File "/bin/pip3.6", line 16, in <module>
sys.exit(main())
TypeError: 'module' object is not callable
How can I get python3 to find xlsxwriter?
pip3 install xlsxwriter
gives you
Requirement already satisfied: xlsxwriter in /usr/lib64/python3.4/site-packages (1.2.6)
so it is installed for python3.4, but python3 calls Python 3.6.8, so two different python versions that have their seperate site-package directory.
You can avoid this problem by doing python3 -m pip install, which should
Make sure that you are installing exactly for the python version you are intending to use
Avoid the 'module' object is not callable error
Note
I don't know how you ended up having two python versions, but it might be worth to check if you can uninstall one of them and then use a virtual environment or similar to manage multiple python versions on your system

matplotlib Error: No module named matplotlib even though it is installed

No module named matplotlib after installing
I have already installed matplotlib using >> pip3 install matplotlib. As I'm using the latest version of python 3.8.0.
Even updated the PIP to the latest version
After selecting import matplotlib, it says " No module named matplotlib"
While if I tried to install again received message
Requirement already satisfied: matplotlib in c:\program files (x86)\python38-32\lib\site-packages (3.2.0rc1)"
C:\Users\Username>py
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:21:23) [MSC v.1916 32 bit (Intel)] on win32
>>> import matplotlib
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'matplotlib'
C:\Users\Username>pip install matplotlib
Requirement already satisfied: matplotlib in c:\program files (x86)\python38-32\lib\site-packages (3.2.0rc1)
try pip3 install matplotlib so that it installs it on python3 instead of python2
update: not sure If that's how it works on Windows though, it certainly is on Linux.

ModuleNotFoundError when importing package that is installed in conda environment

Unable to import flask-migrate dependencies that are missing python version/sub-version from build version (3rd column of conda list output).
Flask-migrate was installed from conda-forge using:
conda install -c conda-forge flask-migrate
Several dependencies were installed simultaneously and are found in conda list -n venv but cannot be imported to python.
(venv) C:\Users\Colin\Documents\Projects\microblog>python
Python 3.6.8 |Anaconda, Inc.| (default, Feb 21 2019, 18:30:04) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import alembic
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'alembic'
From what I have found, the packages that are raising ModuleNotFoundErrors upon import are all missing the python version in the 3rd column of conda list.
Successfully import: py36_0 or py36_1000 or py36* etc.
ModuleNotFoundError: py_0 or py_1
Why are installed packages raising ModuleNotFoundError when imported to python?
I believe the packages with py_0 environment were all installed as Noarch packages from conda. I'm not sure why my system is unable to import the Noarch packages but I was able to work around the problem by manually downloading the win64-py36_0.tar.bz2 files and installing them locally using:
conda install /package-path/package-filename.tar.bz2

AttributeError: module 'theano' has no attribute 'ifelse'

I am installing anaconda environment with keras, and using theano backend. But I cannot get theano to work. here is what I have done and also errors noted afterwards.
Step 1: download the latest version of anaconda, then install in linux by ' bash Anaconda3-5.0.1-Linux-x86_64.sh'
Step 2: conda install -c conda-forge keras, which installs keras 2.0.9
This also installs theano 1.0.1, as shown below:
The following NEW packages will be INSTALLED:
keras: 2.0.9-py36_0 conda-forge
libgpuarray: 0.7.5-0 conda-forge
mako: 1.0.7-py36_0 conda-forge
pygpu: 0.7.5-py36_0 conda-forge
theano: 1.0.1-py36_1 conda-forge
The following packages will be SUPERSEDED by a higher-priority channel:
conda: 4.3.30-py36h5d9f9f4_0 --> 4.3.29-py36_0 conda-forge
conda-env: 2.6.0-h36134e3_1 --> 2.6.0-0 conda-forge
Next, testing theano:
python
Python 3.6.3 |Anaconda, Inc.| (default, Oct 13 2017, 12:02:49)
[GCC 7.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import theano
>>> theano.ifelse
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'theano' has no attribute 'ifelse'
The error shown in the last line is preventing me using theano and keras properly. all my code that works on a different platform does not work, because they will generate an error like that.
I also tried to follow instructions on http://deeplearning.net/software/theano/install_ubuntu.html with a fresh anaconda installation to just install theano, without keras. But after installation, with the testing line above, I get the same error.
Any suggestion on how to fix this?
It is not import by default.
Try to use
import theano.ifelse

Something wrong with scikits.talkbox with Python3?

I am migrating a Python program from 2.10 to 3.6. The packages scikits.talkbox is part of it. However, I cannot figure out how to use it any more. The installation from pip seems to work fine but I cannot import it. Has anyone faced this problem before ?
[manjaro#manjaro-pc ~]$ python --version
Python 3.6.0
[manjaro#manjaro-pc ~]$ sudo pip install scikits.talkbox
Collecting scikits.talkbox
Using cached scikits.talkbox-0.2.5.tar.gz
Requirement already satisfied: numpy in /usr/lib/python3.6/site-packages (from scikits.talkbox)
Installing collected packages: scikits.talkbox
Running setup.py install for scikits.talkbox ... done
Successfully installed scikits.talkbox-0.2.5
[manjaro#manjaro-pc ~]$ python
Python 3.6.0 (default, Jan 16 2017, 12:12:55)
[GCC 6.3.1 20170109] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import scikits.talkbox
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.6/site-packages/scikits/talkbox/__init__.py", line 5, in <module>
__all__ += tools.__all__
AttributeError: module 'tools' has no attribute '__all__'
The answer to your question is this link Error while importing scikits.talkbox
Even I am facing this issue
I have switched to librosa
There is another way for MFCC features: python_speech_features
http://python-speech-features.readthedocs.io/en/latest/

Resources