Home Backend Development Python Tutorial How to find packages installed by python

How to find packages installed by python

Jun 15, 2019 am 11:22 AM
python Bag

How python looks for packages

Related recommendations: "python video"

How to find packages installed by python

Now There is probably not only one Python on your computer, but also more virtual environments. When installing the package, you accidentally forget to pay attention to the path of the installation package. First, let’s solve the problem of finding a bag. The answer to this question is very simple, but many people don’t know this principle. If the path of your Python interpreter is /bin/python, then when you start the Python interactive environment or use this interpreter to run a script, it will look for the following location by default:

/ lib (standard library path)

/lib/pythonX.Y/site-packages (third-party library path, X.Y is the major and minor version number corresponding to Python, such as 3.7, 2.6)

Current working directory (return result of pwd command)

If you are using the default Python on Linux, is /usr. If you compiled it yourself using the default options, is /usr/local. From the second item above, you can see that the third-party library paths of Python with different minor versions are different. If you upgrade Python from 3.6 to 3.7, the previously installed third-party libraries will no longer be available. Of course, you can copy the entire folder and there will be no problem in most cases.

Several useful functions

sys.executable The currently used Python interpreter path

sys.path The search path list of the current package

sys.prefix Currently used

Example:

>>> import sys
>>> sys.executable'/home/frostming/.pyenv/versions/3.7.2/bin/python'
>>> sys.path
['', '/home/frostming/.pyenv/versions/3.7.2/lib/python37.zip',
 '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7', 
 '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7/lib-dynload', 
 '/home/frostming/.local/lib/python3.7/site-packages', 
 '/mnt/d/Workspace/pipenv', '/home/frostming/.pyenv/versions/3.7.2/lib/python3.7/site-packages']
 >>> sys.prefix'/home/frostming/.pyenv/versions/3.7.2'
Copy after login

Use environment variables to add the search path

If your If the path of the package does not exist in the search path list listed above, you can add the path to the PYTHONPATH environment variable and separate multiple paths with: (for Windows;).

But be careful to avoid adding the paths of packages of different Python versions to PYTHONPATH, such as PYTHONPATH=/home/frostming/.local/lib/python2.7/site-packages, because the paths in PYTHONPATH are Prioritizes the default search path, which may cause compatibility issues if using Python 3.

By the way, PATH is the search path used to find executable programs. If you run the command my_cmd in the terminal, the system will scan the paths in PATH in order to see if my_cmd exists in this path, so if If it says that the program cannot be found or the command cannot be recognized, then you need to check whether the path has been added to PATH.

How Python installs packages

Nowadays, pip is basically used to install Python packages. Even if you use pipenv or poetry, the bottom layer is still pip, which is always applicable. . If you have not installed pip, please refer here. If you have installed it and still cannot use the pip command, please refer to the previous section.

There are two ways to run pip:

pip ...
python -m pip ...
Copy after login

The first way and the second way are similar, the difference is that the Python interpreter used in the first way is to write In pip, generally, if your pip path is /bin/pip, then the corresponding Python path is /bin/python. The second method explicitly specifies the location of Python. This rule applies to all Python executable programs. The process is shown in the figure below.

How to find packages installed by python

Then, without adding any custom configuration, using pip to install the package will automatically install it under /lib/pythonX.Y/site-packages ( is obtained from the previous paragraph), the executable program is installed under /bin. If you need to run it directly using my_cmd on the command line, remember to add it to PATH.

Options to change the installation location in pip

--prefix PATH, replace with the given value--root ROOT_PATH, in Add ROOT_PATH in front, such as --root /home/frostming, will change from /usr to /home/frostming/usr--target TARGET, directly specify the installation location to TARGET

Virtual environment

The virtual environment is to isolate the dependency packages of different projects and install them in different paths to prevent dependency conflicts. After understanding how Python installs packages, it is not difficult to understand the principles of virtual environments (virtualenv, venv modules). In fact, running virtualenv myenv will copy a new Python interpreter to myenv/bin, and create directories such as myenv/lib, myenv/lib/pythonX.Y/site-packages (the venv module is not used for copying, but the results are basically Same). After executing source myenv/bin/activate, myenv/bin will be inserted in front of PATH, so that the copied Python interpreter will be searched first. In this way, when installing the package later, will be myenv, thereby achieving isolation of the installation path.

Summarize

You can see here that the most important thing about package path search is the path prefix, and this value is derived from the Python interpreter path used. So to find the path of the package, you only need to know the path of the interpreter. If you encounter changing the path of the package, you only need to specify the Python interpreter you want through the correct PATH setting.

Now back to the three questions at the beginning, will everyone solve them? Write your troubleshooting steps or solutions in the comment area.

The examples in this article all use Unix path conventions. If it is a Windows system, appropriate changes should be made. For example, /bin should be /Scripts↩

The above is the detailed content of How to find packages installed by python. For more information, please follow other related articles on the PHP Chinese website!

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

PHP and Python: Different Paradigms Explained PHP and Python: Different Paradigms Explained Apr 18, 2025 am 12:26 AM

PHP is mainly procedural programming, but also supports object-oriented programming (OOP); Python supports a variety of paradigms, including OOP, functional and procedural programming. PHP is suitable for web development, and Python is suitable for a variety of applications such as data analysis and machine learning.

Choosing Between PHP and Python: A Guide Choosing Between PHP and Python: A Guide Apr 18, 2025 am 12:24 AM

PHP is suitable for web development and rapid prototyping, and Python is suitable for data science and machine learning. 1.PHP is used for dynamic web development, with simple syntax and suitable for rapid development. 2. Python has concise syntax, is suitable for multiple fields, and has a strong library ecosystem.

PHP and Python: A Deep Dive into Their History PHP and Python: A Deep Dive into Their History Apr 18, 2025 am 12:25 AM

PHP originated in 1994 and was developed by RasmusLerdorf. It was originally used to track website visitors and gradually evolved into a server-side scripting language and was widely used in web development. Python was developed by Guidovan Rossum in the late 1980s and was first released in 1991. It emphasizes code readability and simplicity, and is suitable for scientific computing, data analysis and other fields.

Python vs. JavaScript: The Learning Curve and Ease of Use Python vs. JavaScript: The Learning Curve and Ease of Use Apr 16, 2025 am 12:12 AM

Python is more suitable for beginners, with a smooth learning curve and concise syntax; JavaScript is suitable for front-end development, with a steep learning curve and flexible syntax. 1. Python syntax is intuitive and suitable for data science and back-end development. 2. JavaScript is flexible and widely used in front-end and server-side programming.

How to run sublime code python How to run sublime code python Apr 16, 2025 am 08:48 AM

To run Python code in Sublime Text, you need to install the Python plug-in first, then create a .py file and write the code, and finally press Ctrl B to run the code, and the output will be displayed in the console.

Can vs code run in Windows 8 Can vs code run in Windows 8 Apr 15, 2025 pm 07:24 PM

VS Code can run on Windows 8, but the experience may not be great. First make sure the system has been updated to the latest patch, then download the VS Code installation package that matches the system architecture and install it as prompted. After installation, be aware that some extensions may be incompatible with Windows 8 and need to look for alternative extensions or use newer Windows systems in a virtual machine. Install the necessary extensions to check whether they work properly. Although VS Code is feasible on Windows 8, it is recommended to upgrade to a newer Windows system for a better development experience and security.

Where to write code in vscode Where to write code in vscode Apr 15, 2025 pm 09:54 PM

Writing code in Visual Studio Code (VSCode) is simple and easy to use. Just install VSCode, create a project, select a language, create a file, write code, save and run it. The advantages of VSCode include cross-platform, free and open source, powerful features, rich extensions, and lightweight and fast.

Can visual studio code be used in python Can visual studio code be used in python Apr 15, 2025 pm 08:18 PM

VS Code can be used to write Python and provides many features that make it an ideal tool for developing Python applications. It allows users to: install Python extensions to get functions such as code completion, syntax highlighting, and debugging. Use the debugger to track code step by step, find and fix errors. Integrate Git for version control. Use code formatting tools to maintain code consistency. Use the Linting tool to spot potential problems ahead of time.

See all articles