I've downloaded the requests library with pip install, and I can use it on my command line, and with python's IDLE but not in vscode.
Here is the code from vsc:
import requests
requests.__version__
Here is the error thrown out:
Traceback (most recent call last):
File "/Users/abdourahman/Desktop/webscrape/igscrape.py", line 1, in <module>
import requests
ImportError: No module named requests
When run on cmd & IDLE it runs as intended:
Python 3.7.4 (v3.7.4:e09359112e, Jul 8 2019, 14:54:52)[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import requests
>>>
>>> requests.__version__
'2.23.0'
To reiterate I'd like figure out to access external libraries in my ide. I've run into the same problem with vscode & atom, and with the bs4 library along with requests.
Problem was the Code Runner extension I was running source code in vscode out of. Turned it off and it defaulted to running python out of the terminal in vscode which solved the problem of not being able to find the modules.
Related
I compiled python3.8 on a half dozen servers (SUSE Linux) and it is working fine on most of them.
But on one, it throws this weird error when I try to install and use the cx_Oracle library.
I set up a virtual environment, and pip install cx_Oracle (version 8.0.0). The installation works fine, but then when I try to import cx_Oracle, it throws an error:
[GCC 4.8.5] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: dynamic module does not define module export function (PyInit_cx_Oracle)
>>>
Not sure what to look for here. Any thoughts on what the problem might be, or how to trace this out?
Fixed! It turned out there was a PYTHONPATH environment variable active that was pointing to the old Python 2.7 folders, even though I was in a Python 3.8 virtual environment. After deleting that environment variable, it started working.
More info with how we diagnosed it here:
https://github.com/oracle/python-cx_Oracle/issues/464
I'm trying to import volatility3 into my python project/script, so that I don't have to use os.system since volatility3 is already made in python3.
I'm wondering how can I import all the functions/modules of said project ? The functions I'm interested in are located in volatility3/volatility/framework
I tried simply putting:
>>> import volatility3.volatility.framework
But I get the following error:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/volatility3/volatility/framework/__init__.py", line 12, in <module>
from volatility.framework import constants, interfaces
ModuleNotFoundError: No module named 'volatility'
My guess is I have to modify sys.path or one of the path variables but this does not seem to work.
Thanks,
The best solution here would be to properly install volatility with pip3, from your already exiting repository folder:
$ pip3 install /home/volatility3
or directly from pipy (not tested):
$ pip3 install volatility3
then you should be able to import the from volatility package directly:
Python 3.6.9 (default, Nov 7 2019, 10:44:02)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import volatility.framework
>>> volatility.framework
<module 'volatility.framework' from '/home/bruno/.local/lib/python3.6/site-packages/volatility/framework/__init__.py'>
>>>
Disclaimer: I'm not a Windows expert, so this may be something idiosyncratic to Windows.
I'm observing a situation where I can import a module in interactive mode but not when requested from a file. Here is foo.py in its entirety:
#!/usr/bin/env python
import pyftdi
When I try to run this in Python 3.6.4, it fails:
E:\>py foo.py
Traceback (most recent call last):
File "foo.py", line 2, in <module>
import pyftdi
ImportError: No module named pyftdi
...but when I import the module interactively, it succeeds:
E:\>py
Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)]
on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import pyftdi
>>>
(FWIW, I don't get an error when repeating this under Mac OS X.)
Any thoughts about what's going on?
The problem is most likely that the version of python is different and has different modules installed. To fix this you can simply do py -3.6 foo.py instead of py foo.py.
Working directory
I had a situation where the script was importing from it's working directory and the shell was importing from the global libraries.
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'm trying to import the tkinter module into my script. I have it installed since the interpreter is able to import it with no problems:
C:\Users\Nacht\Dropbox\Scripts>python
Python 3.2.2 (default, Sep 4 2011, 09:51:08) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import tkinter
>>>
Imports fine, no problem. But now when I try to run a script that has the line import tkinter....
C:\Users\Nacht\Dropbox\Scripts>t ls
Traceback (most recent call last):
File "C:\Users\Nacht\Dropbox\Scripts\t.py", line 5, in <module>
import tkinter
ImportError: No module named tkinter
where t is the name of the script and ls a command (it is a command-line interface).
How can the interpreter see it but not the script? Thanks.
EDIT:
The sys.path says, for the interpreter:
C:\Python32\lib\site-packages\distribute-0.6.24-py3.2.egg
C:\Python32\lib\site-packages\selenium-2.15.0-py3.2.egg
C:\Windows\system32\python32.zip
C:\Python32\DLLs
C:\Python32\lib
C:\Python32
C:\Python32\lib\site-packages
C:\Python32\lib\site-packages\win32
C:\Python32\lib\site-packages\win32\lib
C:\Python32\lib\site-packages\Pythonwin
and for the script:
C:\Users\Nacht\Dropbox\Scripts
C:\Python27\lib\site-packages\distribute-0.6.24-py2.7.egg
C:\Windows\system32\python27.zip
C:\Python27\DLLs
C:\Python27\lib
C:\Python27\lib\plat-win
C:\Python27\lib\lib-tk
C:\Python27
C:\Python27\lib\site-packages
C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg-info
The script appears to be running with Python 2.7 but when you run the interpreter directly, it is using Python 3.2. As mentioned by #DSM, the name of Tkinter was different (perhaps there are other differences?).
May be there is a problem with path. It can't find the tkinter module. Setting up correct path try to import again.