Something wrong with scikits.talkbox with Python3? - python-3.x

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/

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

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

Linux pyarrow undefined symbol

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.

Can't import paramiko in Python 3/Ubuntu

I installed the paramiko lib with Ubuntu's APT repositories (sudo apt-get install python3-paramiko), and I can't import it :
$ python3
Python 3.5.2 (default, Jul 5 2016, 12:43:10)
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import paramiko
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'paramiko'
But when I install it with pip3 install paramiko, the import paramiko line works !
I could just stick with the pip version, but I want to distribute this program, and it would be very convenient to give all the dependencies as APT packages.
Why can Python import the pip version, but not the APT one ?
Maybe the apt package is installed to a dir not recognized by python3, that is, not in one of sys.path. compare the installed dir of python3-paramiko and the output of python3 -c 'import sys;print(sys.path)'.
Also, it's good practice for your python package to depend on packages installed by pip. Since you could distribute your package via setuptools and configure your dependency therein. Which make your program cross platform.

python3 tkinter ubuntu trusty does not work under virtual environment

I installed python3-tk on an ubuntu trusty docker container.(apt-get install python3-tk)
> python3
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>> import tkinter as tk
>>>
So far so good. However, for different reasons, I need to run a loaded python3 virtualenv in same container.
When I activate the virtual environment:
(env_py34)root#8a7953c24d4f:/home# python
Python 3.4.3 (default, Oct 14 2015, 20:28:29)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter as tk
Traceback (most recent call last):
File "/usr/lib/python3.4/tkinter/__init__.py", line 39, in <module>
import _tkinter
ImportError: No module named '_tkinter'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.4/tkinter/__init__.py", line 41, in <module>
raise ImportError(str(msg) + ', please install the python3-tk package')
ImportError: No module named '_tkinter', please install the python3-tk package
>>>
Versions of python are identical.
How come the virtual environment did not inherit python3-tk from the python3 installation? How can I install python3-tk inside the virtual environment?
So from the error message, python3-tk package is missed.
raise ImportError(str(msg) + ', please install the python3-tk package')
ImportError: No module named '_tkinter', please install the python3-tk package
Did you try to install it? for example, in ubuntu
sudo apt-get install python3-tk
I had the same problem. The answer provided by user BMW did not work for me. There is no need to recreate the virtualenv directory, like user1256124 suggests, although that is a perfectly workable solution as well.
Just use the bindings specific to the version of python that you need. For python3.6, this command is:
sudo apt-get install python3.6-tk
This allows an already set up virtualenv to find the right libraries.
I figured it out.
What was happening is that once python3 virtualenv was created there was no more inheriting to be done from the python3 apt-get installation.
Once I recreated the image from the updated Dockerfile in which it was specified to apt-get install python3-tk BEFORE creating the python3 virtualenv, then everything worked.
Not sure why this is the case though.

Resources