I have installed the pip3 as well as requests package in my pc.Even then on running the command import requests on my shell,i am getting the following error:
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import requests
ModuleNotFoundError: No module named 'requests'
I have to manually copy all the packages to my working directory to tackle this exception.
asked Jul 4, 2017 at 20:55
Jaskunwar singhJaskunwar singh
1552 gold badges4 silver badges9 bronze badges
13
Find were your python is installed and find Scripts directory. Open cmd, go to this folder and type pip install requests
.
For me it was like below:
cd C:UsersmyLocalUserNameAppDataLocalProgramsPythonPython36Scripts
pip install requests
answered Oct 12, 2017 at 10:01
In PyCharm you should:
- Go back to base configuration in «File» — «Settings» — «Python Interpreteter» (it is the path that ends with «…python.exe»)
- Click on the plus and install this module by typing name in search field.
- Choose this configuration and run it by pressing Ctrl+Alt+F10
Tonechas
13.2k15 gold badges43 silver badges78 bronze badges
answered May 9, 2021 at 17:55
For listing instaled modules for Python 3:
sudo pip3 list
For installing the request
module for Python 3:
sudo pip3 install requests
answered Jul 19, 2021 at 12:27
simhumilecosimhumileco
30.1k16 gold badges132 silver badges110 bronze badges
Make sure that requestes module should have version starts with 2
Not correct
pip3 list
Package Version
requestes 0.0.1
I installed this and installed using
python -m pip install requests
Later :
PS C:pythonScripts> pip list
Package Version
certifi 2021.5.30
chardet 4.0.0
idna 2.10
pip 21.1.3
requests 2.25.1
urllib3 1.26.6
answered Jun 30, 2021 at 4:54
Activate Virtual Environment
.envScriptsactivate
Install the dependencies,
pip install request
answered Aug 8, 2021 at 5:32
Been tackling this issue for 2 hours now, this solution did it!
Find your Python installation location and, specifically, the Scripts directory. Open cmd
, and run the following:
cd C:Users<myLocalUserName>AppDataLocalProgramsPythonPython36Scripts
pip install requests
nathan liang
8162 gold badges11 silver badges22 bronze badges
answered Jul 10, 2022 at 17:15
For me, I used the package manager within my IDE (Pycharm in this case) to see if ‘request’ was installed. Once I did that, then the error went away.
I also tried pip install, but I suspect I have multiple python on the system and pip didn’t install to the correct python. This is why others are suggesting to install from a specific python installation.
In Linux or Mac, you can run ‘which python’ for additional clues.
answered Jul 17, 2022 at 23:43
A common error you may encounter when using Python is modulenotfounderror: no module named ‘requests’. This error occurs when Python cannot detect the Requests library in your current environment. Requests does not come with the default Python installation. This tutorial goes through the exact steps to troubleshoot this error for the Windows, Mac and Linux operating systems.
ModuleNotFoundError: no module named ‘requests’
What is ModuleNotFoundError?
The ModuleNotFoundError occurs when the module you want to use is not present in your Python environment. There are several causes of the modulenotfounderror:
The module’s name is incorrect, in which case you have to check the name of the module you tried to import. Let’s try to import the re module with a double e to see what happens:
import ree
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
1 import ree
ModuleNotFoundError: No module named 'ree'
To solve this error, ensure the module name is correct. Let’s look at the revised code:
import re
print(re.__version__)
2.2.1
You may want to import a local module file, but the module is not in the same directory. Let’s look at an example package with a script and a local module to import. Let’s look at the following steps to perform from your terminal:
mkdir example_package
cd example_package
mkdir folder_1
cd folder_1
vi module.py
Note that we use Vim to create the module.py file in this example. You can use your preferred file editor, such as Emacs or Atom. In module.py, we will import the re module and define a simple function that prints the re version:
import re
def print_re_version():
print(re.__version__)
Close the module.py, then complete the following commands from your terminal:
cd ../
vi script.py
Inside script.py, we will try to import the module we created.
import module
if __name__ == '__main__':
mod.print_re_version()
Let’s run python script.py from the terminal to see what happens:
Traceback (most recent call last):
File "script.py", line 1, in <module>
import module
ModuleNotFoundError: No module named 'module'
To solve this error, we need to point to the correct path to module.py, which is inside folder_1. Let’s look at the revised code:
import folder_1.module as mod
if __name__ == '__main__':
mod.print_re_version()
When we run python script.py, we will get the following result:
2.2.1
Lastly, you can encounter the modulenotfounderror when you import a module that is not installed in your Python environment. The simplest way to install requests is to use the package manager for Python called pip. The following instructions are for the major Python version 3.
What is requests?
Requests is an HTTP library for Python. Requests allows you to send HTTP/1.1 requests. Requests does not automatically come installed with Python.
How to install requests on Windows Operating System
You can install pip on Windows by downloading the installation package, opening the command line and launching the installer. You can install pip via the CMD prompt by running the following command.
python get-pip.py
You may need to run the command prompt as administrator. Check whether the installation has been successful by typing.
pip --version
To install requests with pip, run the following command from the command prompt.
pip3 install requests
How to install requests on Mac Operating System
Open a terminal by pressing command (⌘) + Space Bar to open the Spotlight search. Type in terminal and press enter. To get pip, first ensure you have installed Python3:
python3 --version
Python 3.8.8
Download pip by running the following curl command:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
The curl command allows you to specify a direct download link. Using the -o option sets the name of the downloaded file.
Install pip by running:
python3 get-pip.py
From the terminal, use pip3 to install requests:
pip3 install requests
How to install requests on Linux Operating System
All major Linux distributions have Python installed by default. However, you will need to install pip. You can install pip from the terminal, but the installation instructions depend on the Linux distribution you are using. You will need root privileges to install pip. Open a terminal and use the commands relevant to your Linux distribution to install pip.
Installing pip for Ubuntu, Debian, and Linux Mint
sudo apt install python-pip3
Installing pip for CentOS 8 (and newer), Fedora, and Red Hat
sudo dnf install python-pip3
Installing pip for CentOS 6 and 7, and older versions of Red Hat
sudo yum install epel-release
sudo yum install python-pip3
Installing pip for Arch Linux and Manjaro
sudo pacman -S python-pip
Installing pip for OpenSUSE
sudo zypper python3-pip
Once you have installed pip, you can install requests using:
pip3 install requests
Check requests Version
Once you have successfully installed requests, you can use two methods to check the version of requests. First, you can use pip show from your terminal.
pip show requests
Name: requests
Version: 2.25.1
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Author-email: [email protected]
License: Apache 2.0
Location: /Users/Yusufu.Shehu/opt/anaconda3/lib/python3.8/site-packages
Requires: urllib3, chardet, idna, certifi
Required-by: tensorboard, Sphinx, requests-oauthlib, jupyterlab-server, conda, conda-repo-cli, conda-build, anaconda-project, anaconda-client
Second, within your python program, you can import requests and then reference the __version__ attribute:
import requests
print(requests.__version__)
2.25.1
Installing requests Using Anaconda
Anaconda is a distribution of Python and R for scientific computing and data science. You can install Anaconda by going to the installation instructions. Once you have installed Anaconda, you can install requests using the following command:
conda install -c anaconda requests
Summary
Congratulations on reading to the end of this tutorial. The modulenotfounderror occurs if you misspell the module name, incorrectly point to the module path or do not have the module installed in your Python environment. If you do not have the module installed in your Python environment, you can use pip to install the package. However, you must ensure you have pip installed on your system. You can also install Anaconda on your system and use the conda install command to install the requests library.
For further reading on ModuleNotFoundErrors, go to the article: How to Solve Python ModuleNotFoundError: No module named ‘ConfigParser’.
Go to the online courses page on Python to learn more about Python for data science and machine learning.
Have fun and happy researching!
Quick Fix: Python raises the ImportError: No module named 'requests'
when it cannot find the library requests
. The most frequent source of this error is that you haven’t installed requests
explicitly with pip install requests
. Alternatively, you may have different Python versions on your computer, and requests
is not installed for the particular version you’re using.
Problem Formulation
You’ve just learned about the awesome capabilities of the requests
library and you want to try it out, so you start your code with the following statement:
import requests
This is supposed to import the Pandas library into your (virtual) environment. However, it only throws the following ImportError: No module named requests
:
>>> import requests Traceback (most recent call last): File "<pyshell#6>", line 1, in <module> import requests ModuleNotFoundError: No module named 'requests'
Solution Idea 1: Install Library requests
The most likely reason is that Python doesn’t provide requests
in its standard library. You need to install it first!
Before being able to import the Pandas module, you need to install it using Python’s package manager pip
. Make sure pip is installed on your machine.
To fix this error, you can run the following command in your Windows shell:
$ pip install requests
This simple command installs requests
in your virtual environment on Windows, Linux, and MacOS. It assumes that your pip
version is updated. If it isn’t, use the following two commands in your terminal, command line, or shell (there’s no harm in doing it anyways):
$ python -m pip install --upgrade pip $ pip install pandas
💡 Note: Don’t copy and paste the $
symbol. This is just to illustrate that you run it in your shell/terminal/command line.
Solution Idea 2: Fix the Path
The error might persist even after you have installed the requests
library. This likely happens because pip
is installed but doesn’t reside in the path you can use. Although pip
may be installed on your system the script is unable to locate it. Therefore, it is unable to install the library using pip
in the correct path.
To fix the problem with the path in Windows follow the steps given next.
Step 1: Open the folder where you installed Python by opening the command prompt and typing where python
Step 2: Once you have opened the Python
folder, browse and open the Scripts
folder and copy its location. Also verify that the folder contains the pip
file.
Step 3: Now open the Scripts
directory in the command prompt using the cd
command and the location that you copied previously.
Step 4: Now install the library using pip install requests
command. Here’s an analogous example:
After having followed the above steps, execute our script once again. And you should get the desired output.
Other Solution Ideas
- The
ModuleNotFoundError
may appear due to relative imports. You can learn everything about relative imports and how to create your own module in this article. - You may have mixed up Python and pip versions on your machine. In this case, to install
requests
for Python 3, you may want to trypython3 -m pip install requests
or evenpip3 install requests
instead ofpip install requests
- If you face this issue server-side, you may want to try the command
pip install --user requests
- If you’re using Ubuntu, you may want to try this command:
sudo apt install requests
- You can check out our in-depth guide on installing
requests
here. - You can also check out this article to learn more about possible problems that may lead to an error when importing a library.
Understanding the “import” Statement
import requests
In Python, the import
statement serves two main purposes:
- Search the module by its name, load it, and initialize it.
- Define a name in the local namespace within the scope of the
import
statement. This local name is then used to reference the accessed module throughout the code.
What’s the Difference Between ImportError and ModuleNotFoundError?
What’s the difference between ImportError
and ModuleNotFoundError
?
Python defines an error hierarchy, so some error classes inherit from other error classes. In our case, the ModuleNotFoundError
is a subclass of the ImportError
class.
You can see this in this screenshot from the docs:
You can also check this relationship using the issubclass()
built-in function:
>>> issubclass(ModuleNotFoundError, ImportError) True
Specifically, Python raises the ModuleNotFoundError
if the module (e.g., requests
) cannot be found. If it can be found, there may be a problem loading the module or some specific files within the module. In those cases, Python would raise an ImportError
.
If an import statement cannot import a module, it raises an ImportError
. This may occur because of a faulty installation or an invalid path. In Python 3.6 or newer, this will usually raise a ModuleNotFoundError
.
Related Videos
The following video shows you how to resolve the ImportError
:
How to Fix : “ImportError: Cannot import name X” in Python?
The following video shows you how to import a function from another folder—doing it the wrong way often results in the ModuleNotFoundError
:
How to Call a Function from Another File in Python?
How to Fix “ModuleNotFoundError: No module named ‘requests’” in PyCharm
If you create a new Python project in PyCharm and try to import the requests
library, it’ll raise the following error message:
Traceback (most recent call last): File "C:/Users/.../main.py", line 1, in <module> import requests ModuleNotFoundError: No module named 'requests' Process finished with exit code 1
The reason is that each PyCharm project, per default, creates a virtual environment in which you can install custom Python modules. But the virtual environment is initially empty—even if you’ve already installed requests
on your computer!
Here’s a screenshot exemplifying this for the pandas
library. It’ll look similar for requests
.
The fix is simple: Use the PyCharm installation tooltips to install Pandas in your virtual environment—two clicks and you’re good to go!
First, right-click on the pandas
text in your editor:
Second, click “Show Context Actions
” in your context menu. In the new menu that arises, click “Install Pandas” and wait for PyCharm to finish the installation.
The code will run after your installation completes successfully.
As an alternative, you can also open the Terminal
tool at the bottom and type:
$ pip install requests
If this doesn’t work, you may want to set the Python interpreter to another version using the following tutorial: https://www.jetbrains.com/help/pycharm/2016.1/configuring-python-interpreter-for-a-project.html
You can also manually install a new library such as requests
in PyCharm using the following procedure:
- Open
File > Settings > Project
from the PyCharm menu. - Select your current project.
- Click the
Python Interpreter
tab within your project tab. - Click the small
+
symbol to add a new library to the project. - Now type in the library to be installed, in your example Pandas, and click
Install Package
. - Wait for the installation to terminate and close all popup windows.
Here’s an analogous example:
Here’s a full guide on how to install a library on PyCharm.
- How to Install a Library on PyCharm
While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.
Today I am trying to use the requests package in my python app But I am facing the following error: ModuleNotFoundError: No module named ‘requests’ in Python. In this Exerror article, We are going to learn about How to reproduce this error and we will discuss All Possible Solutions Let’s Get Start With This Article.
Contents
- How ModuleNotFoundError: No module named ‘requests’ Error Occurs?
- How To Solve ModuleNotFoundError: No module named ‘requests’ Error?
- Solution 1: Install the Request package
- Solution 2: Package is Installed for different Version
- Solution 3: Install For Virtual Env
- Solution 4: Select Python interpreter
- Solution 5: Check requests is Installed or Not
- Solution 6: Reinstall Package
- Conclusion
How ModuleNotFoundError: No module named ‘requests’ Error Occurs?
I am trying to use the requests package in my python app But I am facing the following error.
ModuleNotFoundError: No module named 'requests'
So here I am writing all the possible solutions that I have tried to resolve this error.
How To Solve ModuleNotFoundError: No module named ‘requests’ Error?
- How To Solve ModuleNotFoundError: No module named ‘requests’ Error?
To Solve ModuleNotFoundError: No module named ‘requests’ Error Sometimes You have installed python for different versions Just like You are using Python3 and You have installed a request for Python2 then you will face a module not found error. So First of all check which version of python are you using. Just run this command: python –version. Now, You know You are using Python 3.10 then you can install the request package for Python 3.10 By just running this command: pip3.10 install requests And now, You can use requests without any error. Thank You.
- ModuleNotFoundError: No module named ‘requests’
ModuleNotFoundError: No module named ‘requests’ Error Occurs whenever you don’t have the Request package installed so You just need to install the request package and then your error will be solved. First of all open your terminal and just run the following. If You are using Python 2 then run this command: pip install requests And then you can import it and you can use it without facing any error. Thank you.
Solution 1: Install the Request package
ModuleNotFoundError: No module named ‘requests’ Error Occurs whenever you don’t have the Request package installed so You just need to install the request package and then your error will be solved.
First of all open your terminal and just run the following. If You are using Python 2 then run this command.
pip install requests
And If you are using python3 then run the following command.
pip3 install requests
You don’t have pip in the Path variable then you can run this command.
python -m pip install requests
And if you are using python3 and your Pip is not settled into the path variable then run this command.
python3 -m pip install requests
And then you can import it and you can use it without facing any error. Just like this.
import requests
res = requests.get('your_url_here')
print(res)
Thanks.
Solution 2: Package is Installed for different Version
Sometimes You have installed python for different versions Just like You are using Python3 and You have installed a request for Python2 then you will face a module not found error. So First of all check which version of python are you using. Just run this command.
python --version
And Your Output will be something like this.
C:Usersssc>python --version
Python 3.10.4
Now, You know You are using Python 3.10 then you can install the request package for Python 3.10 By just running this command.
pip3.10 install requests
And now, You can use requests without any error. Thank You.
Solution 3: Install For Virtual Env
If you are using a virtual environment then You need to install the request package for your particular virtual env. First of all You can create new virtual env if you don’t have.
python3 -m venv venv
Then activate it by running this command.
source venv/bin/activate # macOS
venvScriptsactivate.bat # Windows
and then You can install requests in this environment.
pip install requests
Now, Your error must be solved. Thanks.
Solution 4: Select Python interpreter
Make Sure You are using the Right Python interpreter If You are using VS Code then Press CTRL + Shift + P OR Command + Shift + P to Open the command palette. And then type Python select interpreter and then select Desire version of Python and your error will be solved. Thank you.
Solution 5: Check requests is Installed or Not
If You are still facing an error then First of all check request module is actually installed or not. Just run this command in your terminal.
pip3 show requests
OR
python3 -m pip show requests
By running pip3 show requests command it will show you package is installed or not. If you don’t have requests installed then run this command.
pip3 install requests
OR
python3 -m pip install requests
Now, Your error will be solved. Thank You.
Solution 6: Reinstall Package
First of all Just uninstall requests by running this command.
pip3 uninstall requests
OR
python3 -m pip uninstall requests
and then run this command to install the package.
pip3 install requests
OR
python3 -m pip install requests
and Now, Your error must be solved. Thanks.
Conclusion
It’s all About this error. I hope We Have solved Your error. Comment below Your thoughts and your queries. Also, Comment below which solution worked for you?
Also, Read
- ValueError: I/O operation on closed file in Python
- An unhandled exception occurred: catch clause variable is not an Error instance
- fatal: detected dubious ownership in repository
- Composer detected issues in your platform: Your Composer dependencies require a PHP version
- Unable to locate file in Vite manifest: resources/css/app.css
Are you trying to run python program and getting "ModuleNotFoundError: No module named 'requests"
error ? Do you want to Know how to solve "ModuleNotFoundError: No module named 'requests'"
error ? Do you want to know how to install a Python module on RHEL/CentOS
Based Servers ? If you are looking answer for all these queries then you have reached the correct place. In this article, I will show you how to install Python requests module if it is currently missing in your server. You can install this or any other python modules by using 2 different ways. Both ways are explained below with examples.
Also Read: How to Properly Search PHP Modules using YUM tool in Linux(RHEL/CentOS 7/8)
If you are getting «ModuleNotFoundError: No module named ‘requests'» error then it means either requests module is not installed or if it is installed then python is not able to find it. If it is not installed then you can easily install by using python3 -m pip install requests
command as shown below. Here you can notice that for this command to work you need to have python3 installed in your Server. If you don’t have python3 installed in your Server then you can install it by using yum install python3 -y command. Now if you run the python program again you won’t see «ModuleNotFoundError: No module named ‘requests'» error.
[root@localhost ~]# python3 -m pip install requests WARNING: Running pip install with root privileges is generally not a good idea. Try `__main__.py install --user` instead. Collecting requests Downloading https://files.pythonhosted.org/packages/45/1e/0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103/requests-2.24.0-py2.py3-none-any.whl (61kB) 100% |████████████████████████████████| 71kB 1.8MB/s Collecting certifi>=2017.4.17 (from requests) Downloading https://files.pythonhosted.org/packages/5e/c4/6c4fe722df5343c33226f0b4e0bb042e4dc13483228b4718baf286f86d87/certifi-2020.6.20-py2.py3-none-any.whl (156kB) 100% |████████████████████████████████| 163kB 1.8MB/s Collecting idna<3,>=2.5 (from requests) Downloading https://files.pythonhosted.org/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl (58kB) 100% |████████████████████████████████| 61kB 4.7MB/s Collecting chardet<4,>=3.0.2 (from requests) Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB) 100% |████████████████████████████████| 143kB 4.1MB/s Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests) Downloading https://files.pythonhosted.org/packages/56/aa/4ef5aa67a9a62505db124a5cb5262332d1d4153462eb8fd89c9fa41e5d92/urllib3-1.25.11-py2.py3-none-any.whl (127kB) 100% |████████████████████████████████| 133kB 4.7MB/s Installing collected packages: certifi, idna, chardet, urllib3, requests Successfully installed certifi-2020.6.20 chardet-3.0.4 idna-2.10 requests-2.24.0 urllib3-1.25.11
Other way that you can use to install requests module is through pip3.6 tool. You can use simply use pip3.6 install requests command to install requests module in your Server. You don’t require yum tool here. Here you only need to make sure that you have pip3.6
tool available as per the python version that you are going to use. Since here we are using python3
so we need to use pip3.6
to install modules for this version. If you don’t have this pip version installed then you can install it by using yum install python3-pip -y
command.
[root@localhost ~]# pip3.6 install requests WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3.6 install --user` instead. Collecting requests Downloading https://files.pythonhosted.org/packages/45/1e/0c169c6a5381e241ba7404532c16a21d86ab872c9bed8bdcd4c423954103/requests-2.24.0-py2.py3-none-any.whl (61kB) 100% |████████████████████████████████| 71kB 2.0MB/s Collecting certifi>=2017.4.17 (from requests) Downloading https://files.pythonhosted.org/packages/5e/c4/6c4fe722df5343c33226f0b4e0bb042e4dc13483228b4718baf286f86d87/certifi-2020.6.20-py2.py3-none-any.whl (156kB) 100% |████████████████████████████████| 163kB 1.9MB/s Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests) Downloading https://files.pythonhosted.org/packages/56/aa/4ef5aa67a9a62505db124a5cb5262332d1d4153462eb8fd89c9fa41e5d92/urllib3-1.25.11-py2.py3-none-any.whl (127kB) 100% |████████████████████████████████| 133kB 4.3MB/s Collecting chardet<4,>=3.0.2 (from requests) Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB) 100% |████████████████████████████████| 143kB 4.2MB/s Collecting idna<3,>=2.5 (from requests) Downloading https://files.pythonhosted.org/packages/a2/38/928ddce2273eaa564f6f50de919327bf3a00f091b5baba8dfa9460f3a8a8/idna-2.10-py2.py3-none-any.whl (58kB) 100% |████████████████████████████████| 61kB 5.7MB/s Installing collected packages: certifi, urllib3, chardet, idna, requests Successfully installed certifi-2020.6.20 chardet-3.0.4 idna-2.10 requests-2.24.0 urllib3-1.25.11
Similarly, you can install other python modules as well by using pip3.6 install <python_module>
command. If you want to uninstall requests
module then you can do it by using pip3.6 uninstall requests
command as shown below. So you can use pip3.6
tool for installation as well as for uninstallation of python modules. More can be checked on pip Official Documentation.
[root@localhost ~]# pip3.6 uninstall requests Uninstalling requests-2.24.0: /usr/local/lib/python3.6/site-packages/requests-2.24.0.dist-info/DESCRIPTION.rst /usr/local/lib/python3.6/site-packages/requests-2.24.0.dist-info/INSTALLER /usr/local/lib/python3.6/site-packages/requests-2.24.0.dist-info/LICENSE.txt /usr/local/lib/python3.6/site-packages/requests-2.24.0.dist-info/METADATA /usr/local/lib/python3.6/site-packages/requests-2.24.0.dist-info/RECORD /usr/local/lib/python3.6/site-packages/requests-2.24.0.dist-info/WHEEL /usr/local/lib/python3.6/site-packages/requests-2.24.0.dist-info/metadata.json /usr/local/lib/python3.6/site-packages/requests-2.24.0.dist-info/top_level.txt /usr/local/lib/python3.6/site-packages/requests/__init__.py /usr/local/lib/python3.6/site-packages/requests/__pycache__/__init__.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/__version__.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/_internal_utils.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/adapters.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/api.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/auth.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/certs.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/compat.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/cookies.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/exceptions.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/help.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/hooks.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/models.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/packages.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/sessions.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/status_codes.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/structures.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__pycache__/utils.cpython-36.pyc /usr/local/lib/python3.6/site-packages/requests/__version__.py /usr/local/lib/python3.6/site-packages/requests/_internal_utils.py /usr/local/lib/python3.6/site-packages/requests/adapters.py /usr/local/lib/python3.6/site-packages/requests/api.py /usr/local/lib/python3.6/site-packages/requests/auth.py /usr/local/lib/python3.6/site-packages/requests/certs.py /usr/local/lib/python3.6/site-packages/requests/compat.py /usr/local/lib/python3.6/site-packages/requests/cookies.py /usr/local/lib/python3.6/site-packages/requests/exceptions.py /usr/local/lib/python3.6/site-packages/requests/help.py /usr/local/lib/python3.6/site-packages/requests/hooks.py /usr/local/lib/python3.6/site-packages/requests/models.py /usr/local/lib/python3.6/site-packages/requests/packages.py /usr/local/lib/python3.6/site-packages/requests/sessions.py /usr/local/lib/python3.6/site-packages/requests/status_codes.py /usr/local/lib/python3.6/site-packages/requests/structures.py /usr/local/lib/python3.6/site-packages/requests/utils.py Proceed (y/n)? y Successfully uninstalled requests-2.24.0
Popular Recommendations:-
Solved: FATAL: Authentication Helper Program /usr/lib/squid/basic_ncsa_auth: (2) No Such File or Directory
How to Install and Configure Squid Proxy Server on RHEL/CentOS 7/8
Primitive Data Types in Java — int, char, byte, short, long, float, double and boolean
5 Best Ways to Become root user or Superuser in Linux (RHEL/CentOS/Ubuntu)
11 Best Python OS Module Examples on Linux
How to Install MariaDB 5.5 Server on RHEL/CentOS 7 Linux with Easy Steps
6 Simple Steps to Change/Reset MariaDB root password on RHEL/CentOS 7/8
Best Steps to Install Java on RHEL 8/CentOS 8
In Python, if you try to import Requests
without installing the module using pip, you will get ImportError: no module named requests error.
In this tutorial, let’s look at installing the Requests
module correctly in different operating systems and solve no module named requests error.
Requests
are not a built-in module (it doesn’t come with the default python installation) in Python, you need to install it explicitly using the pip installer and then use it.
If you are getting an error installing pip checkout pip: command not found to resolve the issue.
Install Requests in OSX/Linux
The recommended way to install the requests
module is using pip or pip3 for Python3 if you have pip installed already.
Using Python 2
$ sudo pip install requests
Using Python 3
$ sudo pip3 install requests
Alternatively, if you have easy_install
in your system, you can install requests using the below command.
Using easy install
$ sudo easy_install -U requests
For CentOs
$ yum install python-requests
For Ubuntu
To install requests module on Debian/Ubuntu for Python2:
$ sudo apt-get install python-requests
And for Python3, the command is:
$ sudo apt-get install python3-requests
Install Requests in Windows
In the case of windows, you can use pip or pip3 based on the Python version you have to install the requests
module.
$ pip3 install requests
If you have not added the pip to the environment variable path, you can run the below command in Python 3, which will install the requests module.
$ py -m pip install requests
Srinivas Ramakrishna is a Solution Architect and has 14+ Years of Experience in the Software Industry. He has published many articles on Medium, Hackernoon, dev.to and solved many problems in StackOverflow. He has core expertise in various technologies such as Microsoft .NET Core, Python, Node.JS, JavaScript, Cloud (Azure), RDBMS (MSSQL), React, Powershell, etc.
Sign Up for Our Newsletters
Subscribe to get notified of the latest articles. We will never spam you. Be a part of our ever-growing community.
By checking this box, you confirm that you have read and are agreeing to our terms of use regarding the storage of the data submitted through this form.
Содержание
- Решение проблемы с ошибкой ImportError: No module named requests
- OSX/Linux
- Windows
- Из исходников (универсальный способ)
- ModuleNotFoundError: No module named ‘requests’ in PyCharm
- 4 Answers 4
- Not the answer you’re looking for? Browse other questions tagged python pip python-requests or ask your own question.
- Related
- Hot Network Questions
- Subscribe to RSS
- [Исправлено] ImportError: Нет модуля с именем запросов
- 🐌 Что такое «импортеррар» в Python?
- 🐌 Что делает «ImportError»: нет модуля с именем запросов «»?
- ✨ Фиксирование неисправной установки библиотеки запросов
- 📁 исправить путь
- ✨ Как исправить “ImporteRor: Нет модуля с именем запросов” в pycharm
- Заключение
- Python: сложности, нюансы, детали.
- Установлено несколько версий Python
- alias
- Установить дополнительную версию Python
- Куда устанавливаются различные версии Python
- Установить пакет для определённой версии Python
- ModuleNotFoundError: No module named ‘urllib2’
- TabError: inconsistent use of tabs and spaces in indentation
- ModuleNotFoundError: No module named ‘requests’
- SyntaxError: Missing parentheses in call to ‘print’
- TypeError: getsockaddrarg: AF_INET address must be tuple, not str
- Не выполняется команда virtualenv
- Не активируется виртуальное окружение
- 1. virtualenv
- 2. virtualenvwrapper-win
- NameError: name ‘psutil’ is not defined
- ModuleNotFoundError: No module named ‘selenium’
- 8 Answers 8
- Remarks to virtual environments
- virtualenv
- Example
Решение проблемы с ошибкой ImportError: No module named requests
Если при запуске программы на Python у вас появляется сообщение об ошибке:
значит у вас отсутствует модуль Requests. Requests не является встроенным модулем, поэтому его нужно загрузить. Официальная документация по модулю: https://pypi.python.org/pypi/requests
OSX/Linux
Если у вас установлен pip, для установки в OSX/Linux используйте команду:
Обратите внимание на версию, чтобы явно указать, для какой версии Python вы делаете установку, используйте pip2 или pip3.
На OSX если у вас установлен easy_install, вы также можете использовать
Windows
В этой операционной системе используйте команду:
Если у вас машина на Windows, где если он был установлен, easy_install может быть найден в вашем каталоге Python*Scripts. (Помните, Patheasy_install.exe — это пример, моя, к примеру, такая C:Python32Scriptseasy_install.exe)
Если у вас Windows машина без установленного easy install, то вы можете получить его здесь: http://www.lfd.uci.edu/
Если вы хотите добавить библиотеку на Windows машине вручную, вы можете загрузить сжатую библиотеку, разархивировать и затем поместить в каталог Lib вашего Python.
Из исходников (универсальный способ)
Любая отсутствующая библиотека, обычно, доступна в исходниках на: https://pypi.python.org/pypi/. Затем:
На mac osx и Windows, после загрузки zip с исходником, распакуйте его и из терминала/cmd запустите
Источник
ModuleNotFoundError: No module named ‘requests’ in PyCharm
I have a python code in PyCharm in which i am using import requests but the terminal is showing me the following error:
/Desktop/Spiders$ python test.py Traceback (most recent call last): File «test.py», line 1, in import requests ModuleNotFoundError: No module named ‘requests’
But I have installed pip and requests as well.
4 Answers 4
just go to file > sitting > project : name > project interpreter > add > search and install
I am guessing you have not set your interpreter or installed the necessary packages in the interpreter in PyCharm.
There, on the side panel, you can open your Project: and check Project Interpreter
This will show the interpreter and the installed packages which you can use.
If the interpreter is empty, you need to add it.
You can just found the icon of Search in right highest corner and search for ‘import modules’. Then click on «Project: [YOUR_PROJECT]» choose ‘Python Interpreter‘ and then click on ‘plus’ button. Thus you can install ‘requests’ module manually.
(Some sites say that you can call Search by pressing Alt + Enter, but it doesn`t work in my case)
Not the answer you’re looking for? Browse other questions tagged python pip python-requests or ask your own question.
Hot Network Questions
To subscribe to this RSS feed, copy and paste this URL into your RSS reader.
site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.10.29.40598
By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.
Источник
[Исправлено] ImportError: Нет модуля с именем запросов
ImportErRor: Модуль с именем запросов не возникает при попытке импортировать модуль перед его установкой. Вы должны заранее установить его, используя «запросы на установку PIP»
Проблема разработки: Как исправить ImportError: Нет модуля по имени запросы в Python?
Вы можете работать над веб-проектом Scraping и хотите импортировать библиотеку запросов и проверять состояние ответа. Однако, как только вы пытаетесь выполнить свой код, Python бросает ImportError как показано ниже.
✨ Запросы библиотеки
Запросы это библиотека в Python, которая позволяет вам отправлять Http запросы на сервер. Возвращает Объект ответа который содержит данные ответа, который включает содержимое веб-страницы, состояния, кодирования и т. Д.
🐌 Что такое «импортеррар» в Python?
В Python, Импорт Заявление подает два основных целя:
Если оператор импорта испытывает трудности в успешной импорте модуля, он поднимает ImportError Отказ Обычно такая проблема возникает из-за неисправной установки или неверного пути, которая обычно поднимает ModulenotfoundError в Python 3.6 и новые версии Отказ
🐌 Что делает «ImportError»: нет модуля с именем запросов «»?
⚠️ Основные причины возникновения этой ошибки либо « неисправная установка » из Запросы Модуль или попытка импортировать модуль перед его установкой. 📔 Примечание : Поскольку запросы не встроенный модуль, вы Должен Установите его, прежде чем вы сможете использовать его.
⚠️ Также, когда в системе установлена более одной версии Python (E.g. Python 2.x и Python 3.x одновременно). Таким образом, вы могли бы установить пакет в одну из сред, пока вы можете запустить свой скрипт в другой среде.
Теперь, когда мы знаем причину возникновения этой ошибки, давайте погрузимся в решения этой проблемы.
✨ Фиксирование неисправной установки библиотеки запросов
Вы должны убедиться, что вы установили Последняя версия из Запросы Библиотека, использующая следующую команду:
📁 исправить путь
📌 Ошибка может сохраняться даже после установки Запросы библиотека. Это происходит потому, что Пип установлен, но не на пути, который вы можете использовать. Это означает, что в вашей системе установлен PIP, скрипт не может найти его. Следовательно, он не может установить библиотеку, используя PIP в правильном пути.
Чтобы исправить проблему с пути, выполните шаги, приведенные ниже:
3. Теперь открыть каталог сценариев в командной строке, используя команду CD и местоположение, которое вы скопировали ранее.
4. Теперь установите библиотеку запросов с помощью команды « PIP Установка запросов ».
После последования вышеуказанных шагов выполните наш сценарий еще раз. И вы должны получить желаемый выход.
✨ Как исправить “ImporteRor: Нет модуля с именем запросов” в pycharm
Если вы используете IDE, как Пычарм Тогда жизнь становится легкой, как вы можете устранить ошибку во вспышке, установив правильную версию библиотеки запросов, используя следующие шаги.
Теперь повторно запустите свой код, и он должен дать желаемый выход.
Заключение
Я надеюсь, что эта статья помогла вам и ответила на все ваши запросы относительно ImportError в питоне.
Связанная статья: Как исправить “ImporteRor: Нет модуля по имени Pandas”
Пожалуйста, Подписаться нашему Канал и Оставайтесь настроиться Для более интересных Статьи в будущем. Счастливое обучение! 📚
Авторы : 👨🎓 Шубхам Сайон 👩🎓 Rashi Agarwal
Я профессиональный Python Blogger и Content Creator. Я опубликовал многочисленные статьи и создал курсы в течение определенного периода времени. В настоящее время я работаю полный рабочий день, и у меня есть опыт в областях, таких как Python, AWS, DevOps и Networking.
Источник
Python: сложности, нюансы, детали.
Вы можете избавить себя от головной боли прочитав статью virtualenv или venv
Установлено несколько версий Python
Итак, Вы установили python, pipe, pipenv, requests и ещё много чего, но вдруг выяснили, что на компьютере уже не одна, а несколько версий python.
Например, у Вас установлены версии 2.7 и 3.5.
Когда Вы запускаете python, то хотите, чтобы работала последняя версия, но, почему-то работает версия 2.7.
Выясним, как разобраться в этой ситуации.
Как видите, в моей Ubuntu Python находится в /usr/bin/python и имеет версию 2.7.18rcl
Третий Python тоже установлен, посмотреть версию и директорию также просто
Резюмируем: второй Python вызывается командой python а третий Python командой python3.
Обычно Python установлен в директорию /usr/bin
python3 is hashed (/usr/bin/python3)
python3 is hashed (/usr/bin/python)
Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] on linux Type «help», «copyright», «credits» or «license» for more information.
>>> import sys
>>> sys.executable
Если у вас уже был третий Python, например 3.8.5, а вы самостоятельно скачали и установили более позднюю версию, например 3.9.1 как в инструкции то у вас будет два разных третьих Python.
Убедиться в этом можно изучив директорию
В такой ситуации вам нужно специально указывать полную версию python3.9 для запуска программ, либо настроить alias
Если ни одна из команд pyhon и python3 не работает, бывает полезно проверить переменную PATH
Как вы можете убедиться моя директория /usr/bin прописана в PATH
Если вам нужно добавить директорию в PATH читайте статью «PATH в Linux» или статью «PATH в Windows»
Важно понимать, что если в каждой из директорий, упомянутых в PATH, будет установлено по какому-то Python выполняться будет тот, который в первой директории.
Если нужно использовать Python из какой-то определённой директории, нужно прописать её путь. В этом случае не обязательно наличие этого пути в PATH
Python 3.8.5 (default, Jul 28 2020, 12:59:40) [GCC 9.3.0] on linux Type «help», «copyright», «credits» or «license» for more information. >>>
>>> говорит о том, что Python в интерактивном режиме.
Выясним куда смотрит pip
/home/andrei/.local/lib/python2.7/site-packages (python 2.7)
Как видите, pip смотрит в директорию python2.7 поэтому всё, что мы до этого устанавливали командой pip install попало к версии 2.7 а версия 3.5 не имеет ни pipenv ни requests и, например, протестировать интерфейсы с её помощью не получится
Command ‘pip’ not found, but there are 18 similar ones.
Посмотрите что выдаст
В моей Ubuntu результат такой
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
Посмотреть куда pip установил пакет можно командой pip show
Проверим, куда установлен модуль requests, который пригодится нам для работы с REST API
Name: requests Version: 2.22.0 Summary: Python HTTP for Humans. Home-page: http://python-requests.org Author: Kenneth Reitz Author-email: me@kennethreitz.org License: Apache 2.0 Location: /usr/lib/python3/dist-packages Requires: Required-by: yandextank, netort, influxdb
alias
Если вы работаете в Linux можете прописать alias python=python3
Установить дополнительную версию Python
Если вы осознанно хотите установить определённую версию Python в добавок к уже существующей выполните
Куда устанавливаются различные версии Python
Просмотрите содержимое /usr/local/bin
Результат на моём ПК показывает, что здесь находится версия 3.5
Версия 2.7 скорее всего здесь /home/andrei/.local/lib/
Результат на моём ПК
Существует несколько способов обойти эту проблему. Сперва рассмотрим использование команды python3.
Как мы только что смогли убедиться команда python3 использует новую версию Python.
sudo apt install python3-pip
Проверим, что он установился в нужную директорию
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
Теперь установим pipenv
pip3 install pipenv
Установить пакет для определённой версии Python
Если у вас несколько версий Python и нужно установить какой-то пакет только для определённой версии, назовём её X.X, воспользуйтесь командой
ModuleNotFoundError: No module named ‘urllib2’
Модуль urllib2 был разделён на urllib.request и urllib.error
import urllib.request
import urllib.error
TabError: inconsistent use of tabs and spaces in indentation
Эта ошибка обычно вызвана тем, что нажатие TAB не эквивалентно трём пробелам.
Можно попробовать заменить все отступы на пробелы строго соблюдая равенство количества пробелов везде где нужно.
ModuleNotFoundError: No module named ‘requests’
Эта ошибка обычно вызвана тем, что модуль requests не установлен, либо установлен, но не для того python, который Вы запустили.
Например, для python2.6 установлен, а для python3 не установлен.
Можно попробовать установить модуль requests. Подробнее про это я писал в статье Тестирование с помощью Python. Потому что столкнулся с этой проблемой впервые именно при тестировании API
Если эта проблема возникла при использовании PyCharm установите requests для Вашего проекта по следующей инструкции
Перейдите в настройки проекта нажав
Выберите раздел Project Interpreter
Нажмите на плюс в правой части экрана
Введите в стоку поиска название нужного модуля. В моём случае это requests
Введите в поиске requests
Должно открыться окно Available Packages
Нажмите кнопку Install Package
Дождитесь окончания установки
Дождитесь окончания установки
SyntaxError: Missing parentheses in call to ‘print’
Эта ошибка обычно появляется когда Вы пробуете в python 3 использовать print без скобок, так как это работало в python 2
В python 3 нужно использовать скобки
TypeError: getsockaddrarg: AF_INET address must be tuple, not str
Эта ошибка обычно появляется когда Вы неправильно ставите кавычку, указывая куда нужно подключиться.
(ip, port), ip обычно в кавычках, порт без
Пример (‘10.6.0.100’, 10000)
Ошибка возникает если взять в кавычки и ip и порт, тогда вместо кортежа передаётся строка, на что и жалуется интерпретатор.
Traceback (most recent call last): File «send.py», line 4, in sock.connect((‘10.6.0.130,9090’)) TypeError: getsockaddrarg: AF_INET address must be tuple, not str
Не выполняется команда virtualenv
Если Вы только что установили virtualenv, но при попытке выполнить
Вы получаете что-то в духе:
virtualenv : The term ‘virtualenv’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. At line:1 char:1 + virtualenv juha_env +
+ CategoryInfo : ObjectNotFound: (virtualenv:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
Не активируется виртуальное окружение
Сначала разберём случай в чистом virtualenv потом перейдём к virtualenvwrapper-win
1. virtualenv
Вы под Windows и пытаетесь активировать Ваше виртуальное окружение, которое называется, допустим, test_env командой
И ничего не происходит
+ CategoryInfo : SecurityError: (:) [], PSSecurityException + FullyQualifiedErrorId : UnauthorizedAccess
Нужно зайти в PowerShell в режиме администратора и выполнить
И выполните ещё раз
Если Вы не можете запустить PowerShell в режиме администратора. Например, если Вы пользуетесь терминалом в Visual Studio Code
2. virtualenvwrapper-win
Вы установили virtualenvwrapper-win и создали новое окружение
created virtual environment CPython3.8.2.final.0-32 in 955ms creator CPython3Windows(dest=C:UsersAndreiEnvstestEnv, clear=False, global=False) seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:UsersAndreiAppDataLocalpypavirtualenvseed-app-datav1.0.1) activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Его видно в списке окружений
И workon его видит
Чтобы активировать его вводим
И ничего не происходит. Потому что virtalenvwrapper-win не работает с PowerShell.
Придётся использовать обычный command prompt или переходить в подсистему Linux
NameError: name ‘psutil’ is not defined
NameError: name ‘psutil’ is not defined
Подобные ошибки возникают если ещё не установили какую-то библиотеку, но уже попробовали ей воспользоваться
TypeError: unsupported operand type(s) for +: ‘range’ and ‘range’
Эта ошибка говорит о том, что вы запускаете код написанный на Python2 с помощью Python3
Установите последнюю версию Python2 по инструкции и запустите код с помощью второго Python
Источник
ModuleNotFoundError: No module named ‘selenium’
I get an error while running this selenium script. Please suggest what can be done to fix this: Script:
Traceback (most recent call last): File «C:/Users/admin/Desktop/test2.py», line 2, in from selenium import webdriver ModuleNotFoundError: No module named ‘selenium’
I have installed Python 3.6 on win 7 Professional 32 bit. I have Selenium Standalone Server version 3.4.0(link)
8 Answers 8
Try installing selenium using pip. Use the following command.
Seems like you have not run the installation command for webdriver_manager.
Use the following command:
But before this, make sure you have properly installed selenium as well. If not, use the following command to install selenium:
virtualenv
If you are using a virtual environment like virtualenv.
You have to make sure that the module selenium is installed
1.) in the virtual environment and
2.) in the default settings (when the virtual environment is deactivated).
Otherwise you will get the error message:
ModuleNotFoundError: No module named ‘selenium’
Example
Install selenium in the default settings: pip install selenium
Activate virtual environment (on windows): source folder_env/Scripts/activate
Check virtual environment settings: which python and which pip
Install selenium: pip install selenium
Check pip list for selenium: pip list
(Optional) Exit virtual environment: deactivate folder_env
Источник
Введение | |
Решенные проблемы |
Введение
Многие сложности возникают у новичков из-за того, что им никто не объяснил про
виртуальное окружение
.
Вы можете избавить себя от головной боли прочитав статью
virtualenv
или
venv
Установлено несколько версий Python
Итак, Вы установили python, pipe, pipenv, requests и ещё много чего, но
вдруг выяснили, что на компьютере уже не одна, а несколько версий python.
Например, у Вас установлены версии 2.7 и 3.5.
Когда Вы запускаете python, то хотите, чтобы работала последняя версия, но,
почему-то работает версия 2.7.
Выясним, как разобраться в этой ситуации.
Python -V и which python
Узнаем версию python которая вызывается командой python с флаго -V
python -V
Python 2.7.18rcl
Полезная команда, которую можно выполнить, чтобы узнать где расположен ваш Python — which
which python
/usr/bin/python
Как видите, в моей
Ubuntu
Python находится в /usr/bin/python и имеет версию 2.7.18rcl
Третий Python тоже установлен, посмотреть версию и директорию также просто
python3 -V
Python 3.9.5
which python3
/usr/bin/python3
Резюмируем: второй Python вызывается командой python а третий Python командой python3.
Обычно Python установлен в директорию /usr/bin
Ещё один способ получить эту информацию — использование команды type
type python3
python3 is hashed (/usr/bin/python3)
type python
python3 is hashed (/usr/bin/python)
Следующий способ — через sys.executable
здесь я для разнообразия настроил alias в .bashrc и теперь команда python эквивалентна python3
python
Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux
Type «help», «copyright», «credits» or «license» for more information.
>>> import sys
>>> sys.executable
‘/usr/bin/python3’
Если у вас уже был третий Python, например 3.8.5, а вы самостоятельно скачали и
установили более позднюю версию, например 3.9.1 как в
инструкции
то у вас будет два разных третьих Python.
Убедиться в этом можно изучив директорию
/usr/local/bin/
ls -la /usr/local/bin/
total 21648
drwxr-xr-x 2 root root 4096 Feb 4 11:08 .
drwxr-xr-x 10 root root 4096 Jul 31 2020 ..
lrwxrwxrwx 1 root root 8 Feb 4 11:08 2to3 -> 2to3-3.9
-rwxr-xr-x 1 root root 101 Feb 4 11:08 2to3-3.9
-rwxr-xr-x 1 root root 238 Feb 4 11:08 easy_install-3.9
lrwxrwxrwx 1 root root 7 Feb 4 11:08 idle3 -> idle3.9
-rwxr-xr-x 1 root root 99 Feb 4 11:08 idle3.9
-rwxr-xr-x 1 root root 229 Feb 4 11:08 pip3
-rwxr-xr-x 1 root root 229 Feb 4 11:08 pip3.9
lrwxrwxrwx 1 root root 8 Feb 4 11:08 pydoc3 -> pydoc3.9
-rwxr-xr-x 1 root root 84 Feb 4 11:08 pydoc3.9
lrwxrwxrwx 1 root root 9 Feb 4 11:08 python3 -> python3.9
-rwxr-xr-x 1 root root 22127472 Feb 4 11:05 python3.9
-rwxr-xr-x 1 root root 3087 Feb 4 11:08 python3.9-config
lrwxrwxrwx 1 root root 16 Feb 4 11:08 python3-config -> python3.9-config
which python3
/usr/local/bin/python3
which python3.9
/usr/local/bin/python3.9
В такой ситуации вам нужно специально указывать полную версию python3.9 для
запуска программ, либо настроить
alias
PATH
Если ни одна из команд pyhon и python3 не работает, бывает полезно проверить переменную PATH
echo $PATH
/home/andrei/.local/bin:/home/andrei/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Как вы можете убедиться моя директория /usr/bin прописана в PATH
Если вам нужно добавить директорию в PATH читайте статью
«PATH в Linux»
или статью
«PATH в Windows»
Важно понимать, что если в каждой из директорий, упомянутых в PATH, будет установлено по какому-то Python выполняться
будет тот, который в первой директории.
Если нужно использовать Python из какой-то определённой директории, нужно прописать её путь. В этом
случае не обязательно наличие этого пути в PATH
/usr/bin/python3
Python 3.8.5 (default, Jul 28 2020, 12:59:40)
[GCC 9.3.0] on linux
Type «help», «copyright», «credits» or «license» for more information.
>>>
>>> говорит о том, что Python в интерактивном режиме.
Pip
Выясним куда смотрит
pip
pip -V
/home/andrei/.local/lib/python2.7/site-packages (python 2.7)
Как видите, pip смотрит в директорию python2.7 поэтому всё, что мы до этого
устанавливали командой pip install попало к версии 2.7
а версия 3.5 не имеет ни pipenv ни requests и, например,
протестировать интерфейсы
с её помощью не получится
Если вы выполнили pip -V и получили в ответ
Command ‘pip’ not found, but there are 18 similar ones.
Посмотрите что выдаст
pip3 -V
В моей
Ubuntu
результат такой
pip 20.0.2 from /usr/lib/python3/dist-packages/pip (python 3.8)
Посмотреть куда pip установил пакет можно командой pip show
Проверим, куда установлен модуль requests, который пригодится нам для работы с
REST API
pip show requests
Name: requests
Version: 2.22.0
Summary: Python HTTP for Humans.
Home-page: http://python-requests.org
Author: Kenneth Reitz
Author-email: me@kennethreitz.org
License: Apache 2.0
Location: /usr/lib/python3/dist-packages
Requires:
Required-by: yandextank, netort, influxdb
alias
Если вы работаете в
Linux
можете прописать alias python=python3
Установить дополнительную версию Python
Если вы осознанно хотите установить определённую версию Python в добавок к уже существующей выполните
Куда устанавливаются различные версии Python
Просмотрите содержимое /usr/local/bin
ls -la /usr/local/bin
Результат на моём ПК показывает, что здесь находится версия 3.5
total 23620
drwxr-xr-x 0 root root 512 Mar 19 18:16 .
drwxr-xr-x 0 root root 512 Mar 30 2017 ..
lrwxrwxrwx 1 root root 8 Mar 19 18:16 2to3 -> 2to3-3.5
-rwxrwxrwx 1 root root 101 Mar 19 18:16 2to3-3.5
lrwxrwxrwx 1 root root 7 Mar 19 18:16 idle3 -> idle3.5
-rwxrwxrwx 1 root root 99 Mar 19 18:16 idle3.5
lrwxrwxrwx 1 root root 8 Mar 19 18:16 pydoc3 -> pydoc3.5
-rwxrwxrwx 1 root root 84 Mar 19 18:16 pydoc3.5
lrwxrwxrwx 1 root root 9 Mar 19 18:16 python3 -> python3.5
-rwxr-xr-x 2 root root 12090016 Mar 19 18:13 python3.5
lrwxrwxrwx 1 root root 17 Mar 19 18:16 python3.5-config -> python3.5m-config
-rwxr-xr-x 2 root root 12090016 Mar 19 18:13 python3.5m
-rwxr-xr-x 1 root root 3071 Mar 19 18:16 python3.5m-config
lrwxrwxrwx 1 root root 16 Mar 19 18:16 python3-config -> python3.5-config
lrwxrwxrwx 1 root root 10 Mar 19 18:16 pyvenv -> pyvenv-3.5
-rwxrwxrwx 1 root root 236 Mar 19 18:16 pyvenv-3.5
Версия 2.7 скорее всего здесь /home/andrei/.local/lib/
ls -la /home/andrei/.local/lib/python2.7/site-packages/
Результат на моём ПК
total 1304
drwx—— 0 andrei andrei 512 Mar 19 13:19 .
drwx—— 0 andrei andrei 512 Mar 19 13:19 ..
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 asn1crypto
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 asn1crypto-0.24.0.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 certifi
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 certifi-2018.1.18.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 cffi
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 cffi-1.11.5.dist-info
-rwxrwxrwx 1 andrei andrei 783672 Mar 19 13:19 _cffi_backend.so
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 chardet
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 chardet-3.0.4.dist-info
-rw-rw-rw- 1 andrei andrei 10826 Mar 19 13:19 clonevirtualenv.py
-rw-rw-rw- 1 andrei andrei 11094 Mar 19 13:19 clonevirtualenv.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 cryptography
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 cryptography-2.2.dist-info
-rw-rw-rw- 1 andrei andrei 126 Mar 19 13:19 easy_install.py
-rw-rw-rw- 1 andrei andrei 315 Mar 19 13:19 easy_install.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 enum
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 enum34-1.1.6.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 idna
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 idna-2.6.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 ipaddress-1.0.19.dist-info
-rw-rw-rw- 1 andrei andrei 79852 Mar 19 13:19 ipaddress.py
-rw-rw-rw- 1 andrei andrei 75765 Mar 19 13:19 ipaddress.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 .libs_cffi_backend
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 OpenSSL
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 ordereddict-1.1.dist-info
-rw-rw-rw- 1 andrei andrei 4221 Mar 19 13:19 ordereddict.py
-rw-rw-rw- 1 andrei andrei 4388 Mar 19 13:19 ordereddict.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pathlib-1.0.1.dist-info
-rw-rw-rw- 1 andrei andrei 41481 Mar 19 13:19 pathlib.py
-rw-rw-rw- 1 andrei andrei 43650 Mar 19 13:19 pathlib.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pip
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pip-9.0.2.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pipenv
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pipenv-11.8.2.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pkg_resources
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pycparser
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pycparser-2.18.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 pyOpenSSL-17.5.0.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 requests
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 requests-2.18.4.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 setuptools
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 setuptools-39.0.1.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 six-1.11.0.dist-info
-rw-rw-rw- 1 andrei andrei 30888 Mar 19 13:19 six.py
-rw-rw-rw- 1 andrei andrei 30210 Mar 19 13:19 six.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 urllib3
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 urllib3-1.22.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 virtualenv-15.1.0.dist-info
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 virtualenv_clone-0.3.0.dist-info
-rw-rw-rw- 1 andrei andrei 99021 Mar 19 13:19 virtualenv.py
-rw-rw-rw- 1 andrei andrei 86676 Mar 19 13:19 virtualenv.pyc
drwxrwxrwx 0 andrei andrei 512 Mar 19 13:19 virtualenv_support
Существует несколько способов обойти эту проблему. Сперва рассмотрим использование
команды python3.
python3 -V
Python 3.5.0
Как мы только что смогли убедиться команда python3 использует новую версию Python.
Установим pip3
sudo apt install python3-pip
Проверим, что он установился в нужную директорию
pip3 -V
pip 8.1.1 from /usr/lib/python3/dist-packages (python 3.5)
Теперь установим pipenv
pip3 install pipenv
Советую также прочитать статьи
pip
,
sys.path
Установить пакет для определённой версии Python
Если у вас несколько версий Python и нужно установить какой-то пакет только
для определённой версии, назовём её X.X, воспользуйтесь командой
pythonX.X -m pip install название_пакета —user —ignore-installed
Инструкция по установке Python на хостинге
ModuleNotFoundError: No module named ‘urllib2’
Модуль urllib2 был разделён на urllib.request и urllib.error
Поэтому строку
import urllib2
Нужно заменить на
import urllib.request
import urllib.error
TabError: inconsistent use of tabs and spaces in indentation
Эта ошибка обычно вызвана тем, что нажатие TAB не эквивалентно трём пробелам.
Можно попробовать заменить все отступы на пробелы строго соблюдая равенство
количества пробелов везде где нужно.
ModuleNotFoundError: No module named ‘requests’
Эта ошибка обычно вызвана тем, что модуль requests
не установлен, либо установлен, но не для того python, который Вы запустили.
Например, для python2.6 установлен, а для python3 не установлен.
Можно попробовать установить модуль requests. Подробнее про это
я писал в статье Тестирование с помощью Python.
Потому что столкнулся с этой проблемой впервые именно при
тестировании
API
Если эта проблема возникла при использовании PyCharm
установите requests для Вашего проекта по следующей
инструкции
Перейдите в настройки проекта нажав
CTRL + ALT + S
Выберите раздел Project Interpreter
Нажмите на плюс в правой части экрана
Введите в стоку поиска название нужного модуля. В моём случае это requests
Должно открыться окно Available Packages
Нажмите кнопку Install Package
Дождитесь окончания установки
SyntaxError: Missing parentheses in call to ‘print’
Эта ошибка обычно появляется когда Вы пробуете в python 3 использовать print без скобок,
так как это работало в python 2
print data
В python 3 нужно использовать скобки
print (data)
TypeError: getsockaddrarg: AF_INET address must be tuple, not str
Эта ошибка обычно появляется когда Вы неправильно ставите кавычку,
указывая куда нужно подключиться.
Правильный вариант — указать кортеж (tuple), который выглядит следующим образом:
(ip, port), ip обычно в кавычках, порт без
Пример (‘10.6.0.100’, 10000)
sock.connect(('10.6.0.130' ,9090))
Ошибка возникает если взять в кавычки и ip и порт,
тогда вместо кортежа передаётся строка, на что и жалуется
интерпретатор.
sock.connect(('10.6.0.130 ,9090'))
Traceback (most recent call last):
File «send.py», line 4, in <module>
sock.connect((‘10.6.0.130,9090’))
TypeError: getsockaddrarg: AF_INET address must be tuple, not str
Не выполняется команда virtualenv
Если Вы только что установили
virtualenv
, но при попытке выполнить
virtualenv new_env
или
venv new_env
Вы получаете что-то в духе:
virtualenv : The term ‘virtualenv’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name,
or if a path was included, verify that the path is correct and try again.
At line:1 char:1
+ virtualenv juha_env
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (virtualenv:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Попробуйте
python -m virtualenv new_env
Не активируется виртуальное окружение
Сначала разберём случай в чистом virtualenv потом перейдём к virtualenvwrapper-win
1. virtualenv
Вы под
Windows
и пытаетесь активировать Ваше виртуальное окружение, которое называется, допустим, test_env командой
test_envScriptsactivate.bat
И ничего не происходит
Вы пробуете
test_envScriptsactivate.ps1
И получаете
.test_envScriptsactivate.ps1 : File C:UsersAndreivirtualenvstest_envScriptsactivate.ps1 cannot be loaded because running scripts is disabled on this system. For more information, see
about_Execution_Policies at https:/go.microsoft.com/fwlink/?LinkID=135170.
At line:1 char:1
+ .test_envScriptsactivate.ps1
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : SecurityError: (:) [], PSSecurityException
+ FullyQualifiedErrorId : UnauthorizedAccess
Нужно зайти в PowerShell в режиме администратора и выполнить
Set-ExecutionPolicy Unrestricted -Force
И выполните ещё раз
test_envScriptsactivate.ps1
Set-ExecutionPolicy -Scope CurrentUser Unrestricted -Force
2. virtualenvwrapper-win
Вы установили
virtualenvwrapper-win
и создали новое окружение
mkvirtualenv testEnv
created virtual environment CPython3.8.2.final.0-32 in 955ms
creator CPython3Windows(dest=C:UsersAndreiEnvstestEnv, clear=False, global=False)
seeder FromAppData(download=False, pip=latest, setuptools=latest, wheel=latest, via=copy, app_data_dir=C:UsersAndreiAppDataLocalpypavirtualenvseed-app-datav1.0.1)
activators BashActivator,BatchActivator,FishActivator,PowerShellActivator,PythonActivator,XonshActivator
Его видно в списке окружений
lsvirtualenv
dir /b /ad «C:UsersAndreiEnvs»
==============================================================================
testEnv
И
workon
его видит
workon
Pass a name to activate one of the following virtualenvs:
==============================================================================
testEnv
Чтобы активировать его вводим
workon testEnv
NameError: name ‘psutil’ is not defined
NameError: name ‘psutil’ is not defined
Подобные ошибки возникают если ещё не установили какую-то
библиотеку, но уже попробовали ей воспользоваться
sudo apt install -y python-psutil
Сложности при работе с Python | |
Python | |
Установлено несколько версий Python | |
Установить дополнительную версию Python | |
Проверка системного пути | |
Куда устанавливаются различные версии Python | |
Установить пакет для определённой версии Python | |
AttributeError: partially initialized module ‘datetime’ has no attribute ‘date’ | |
ModuleNotFoundError: No module named ‘requests‘ | |
ModuleNotFoundError: No module named ‘urllib2‘ | |
ModuleNotFoundError: No module named numpy | |
SyntaxError: Missing parentheses in call to ‘print’ | |
SyntaxError: Non-ASCII character | |
TabError: inconsistent use of tabs and spaces in indentation | |
TypeError: getsockaddrarg: AF_INET address must be tuple, not str | |
TypeError: unsupported operand type(s) for +: | |
TypeError: module object is not callable | |
TypeError: ‘str’ object is not callable | |
TypeError: __init__() got an unexpected keyword argument ‘capture_output’ | |
TypeError: ‘generator’ object is not subscriptable | |
virtualenv : The term ‘virtualenv’ is not recognized | |
Не активируется виртуальное окружение | |
SSL module is not available | |
UnicodeDecodeError: ‘charmap’ codec can’t decode byte 0x90 in position |