Unable to import python module in custom environment - python

I am trying to import PyQt5 module in a custom python environment but it fails.
I have tested it with the system python and works fine
juan#juansphd:~/blender-2.82a-linux64/2.82/python/bin$ python3
Python 3.6.9 (default, Apr 18 2020, 01:56:04)
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5.QtCore
>>>
but when I run python3 of my custom environment, it fails to load it
juan#juansphd:~/blender-2.82a-linux64/2.82/python/bin$ ./python3.7m
Python 3.7.4 (default, Oct 8 2019, 15:23:02)
[GCC 6.3.1 20170216 (Red Hat 6.3.1-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import PyQt5.QtCore
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5'
>>>
I have tried adding /usr/lib/python3/dist-packages, where PyQt5 is installed, into the sys.path but doesnt work neither
>>> sys.path.append("/usr/lib/python3/dist-packages")
>>> import PyQt5.QtCore
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'PyQt5.QtCore'
>>>
How should I import the module?

Related

ModuleNotFoundError: No module named 'folium.plugins'; 'folium' is not a package [duplicate]

This question already has answers here:
Importing installed package from script with the same name raises "AttributeError: module has no attribute" or an ImportError or NameError
(2 answers)
Closed 4 years ago.
I know this question has been asked around quite a few times but none of the solutions have helped me out so far.
I am getting the following error whenever I try running my python script:
M-MBP:folder m$ python3.7 folium.py
Traceback (most recent call last):
File "folium.py", line 3, in <module>
import folium
File "/Users/m/folder/folium.py", line 4, in <module>
from folium.plugins import MarkerCluster
ModuleNotFoundError: No module named 'folium.plugins'; 'folium' is not a package
Notes:
I am running Python3.7, installed via Homebrew;
I've tried installing Folium via pip, conda, and cloning its Git repo directly to my site-packages folder.
None have worked. Any suggestions?
Thanks!
Your script is named the same as the package you want. It's trying to import itself and it doesn't have plugins within it. Name your script something other than folium.py and I believe your problem will disappear.
Demonstrated:
arts#support:~ 0$ python3
Python 3.4.9 (default, Aug 14 2018, 21:28:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
>>> logging.DEBUG
10
>>>
arts#support:~ 0$ cd tmp
arts#support:~/tmp 0$ python3
Python 3.4.9 (default, Aug 14 2018, 21:28:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/arts/tmp/logging.py", line 5, in <module>
print(logging.DEBUG)
AttributeError: 'module' object has no attribute 'DEBUG'
>>>
arts#support:~/tmp 0$ cat logging.py
import sys
import logging # Imports itself
import os
print(logging.DEBUG)
The reason is, you need to look at sys.path
arts#support:~/tmp 0$ python3
Python 3.4.9 (default, Aug 14 2018, 21:28:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> print(sys.path)
['', '/usr/lib64/python34.zip', '/usr/lib64/python3.4', '/usr/lib64/python3.4/plat-linux', '/usr/lib64/python3.4/lib-dynload', '/usr/lib64/python3.4/site-packages', '/usr/lib/python3.4/site-packages']
>>> del sys.path[0]
>>> sys.path
['/usr/lib64/python34.zip', '/usr/lib64/python3.4', '/usr/lib64/python3.4/plat-linux', '/usr/lib64/python3.4/lib-dynload', '/usr/lib64/python3.4/site-packages', '/usr/lib/python3.4/site-packages']
>>> import logging
>>> logging.DEBUG
10
>>>
arts#support:~/tmp 0$ python3
Python 3.4.9 (default, Aug 14 2018, 21:28:57)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-28)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib64/python34.zip', '/usr/lib64/python3.4', '/usr/lib64/python3.4/plat-linux', '/usr/lib64/python3.4/lib-dynload', '/usr/lib64/python3.4/site-packages', '/usr/lib/python3.4/site-packages']
>>> import logging
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/arts/tmp/logging.py", line 5, in <module>
print(logging.DEBUG)
AttributeError: 'module' object has no attribute 'DEBUG'
>>>
In this second chunk, you'll see that I deleted the first chunk of the list. This removes your CURRENT DIRECTORY from python's import path, so it now ignored my logging.py file and successfully imported the real logging module.

Can import elements from tensorflow.python.keras, but not the module as a whole

How does the following python session make sense?
(ctlearn) jsevillamol#jsevillamol-N551JK:~/Documentos/ctlearn_keras$ python
Python 3.6.5 | packaged by conda-forge | (default, Apr 6 2018, 13:39:56)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-15)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from tensorflow.python.keras.models import Model
>>> import tensorflow.python.keras as K
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'tensorflow' has no attribute 'python'
I can import tensorflow.python.keras.models, but not import tensorflow.python.keras.
What. I don't even.

python3 does not allow urllib import

I installed anaconda for Python 3.6 in MacOs Sierra.
It comes with its own python and it changed the default python to this new one.
Now, I am not able to import anything from urllib.
Here is a snippet of my terminal.
Can someone give some suggestions?
devassy#mydire $ python
Python 3.6.5 |Anaconda, Inc.| (default, Apr 26 2018, 08:42:37)
[GCC 4.2.1 Compatible Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from urllib.request import url2pathname
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/Users/devassy/anaconda3/lib/python3.6/urllib/request.py", line 2585, in <module>
from _scproxy import _get_proxy_settings, _get_proxies
ImportError: dlopen(/Users/devassy/anaconda3/lib/python3.6/lib-dynload/_scproxy.cpython-36m-darwin.so, 2): Symbol not found: _iconv
Referenced from: /usr/lib/libcups.2.dylib
Expected in: /Users/devassy/anaconda3/lib/libiconv.2.dylib
in /usr/lib/libcups.2.dylib
>>>

ImportError: No module named log

Isn't log a built in package in python?
# /usr/bin/python
Python 2.7.5 (default, Oct 11 2015, 17:47:16)
[GCC 4.8.3 20140911 (Red Hat 4.8.3-9)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import log as logging
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named log
>>>
Do I need to install log with pip ?
logging is a built-in package, not log:
import logging as log

Utils module not imported

I have downloaded this package of Python Utils , and tried to install it, by entering the folder and typing:
python setup.py install
The output seems fine: the package installed and all dependencies processed.
However, when I try to import:
$ python
Python 2.7.2 (default, Dec 12 2011, 16:10:05)
[GCC 4.1.2 20080704 (Red Hat 4.1.2-51)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import utils
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named utils
What am I getting wrong?
The package is called python_utils, not utils. import python_utils should work.

Categories