Home  >  Article  >  Backend Development  >  Add custom modules in Python

Add custom modules in Python

高洛峰
高洛峰Original
2016-10-17 16:32:361444browse

Generally speaking, we will store the Python modules we write ourselves separately from the modules that come with python to facilitate maintenance. So how to add custom modules in Python?

Before answering this question, we must first clarify two points:

1. Strictly distinguish between packages and folders. The definition of a package is the folder containing __init__.py. If there is no __init__.py, then it is an ordinary folder.

2. Module import writing method, please note that only the package path is required, not the folder path.


The Python running environment traverses the sys.path list when looking for library files. If we want to register a new class library in the running environment, there are two main methods:

1. In sys.path Add new paths to the list.

2. Copy the library file to the directory in the sys.path list (such as the site-packages directory).


We can check sys.path by running the code

import sys
print sys.path


Run result:

['/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old', '/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload', '/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC', '/Library/Python/2.7/site-packages']

The first of these two methods is simpler and has less impact on the environment Minimum.

Let’s take a look at how to operate the first method:


Create a new pythontab.pth in the site-package folder of the python installation directory. The path of the site-package above is: /Library/Python/2.7 /site-packages, the content of the file is: the folder path where the package that needs to be imported is located.

In this way, when Python sees a .pth file while traversing the known library file directory, it will add the path recorded in the file to the sys.path setting, so that the package specified in the .pth file will also It can be successfully found by the Python running environment, and we can introduce custom modules just like using built-in modules.

If the default sys.path does not contain the path of its own module or package, we can also use the sys.path.apend method to dynamically add the package path.


Statement:
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