python,自己做的.py文件想做成本地库,在本机任何一个文件中直接import,怎么实现?放哪?
这里我给出三种方法,大家按需选择。
1、简单粗暴法:直接把 .py
文件放入 Python 的 site-packages
目录,马上能全局使用,但换环境时需要重复操作。
2、环境变量法:设置 PYTHONPATH
,让 Python 在固定的目录下找模块,适合长期使用多个模块。
3、打包安装法:通过 pip
安装自己的模块,适合多个项目间复用或者发布模块。
你自己写了一个 .py
文件,希望能像 import numpy
一样,随时随地在其他项目里使用它。这其实是个常见需求,尤其当你开发了一些实用工具函数,想要在多个项目中复用。那么,如何把自己的 .py
文件做成一个本地库,并且在本机任何地方都能轻松 import
呢?接下来,我带你一步一步操作。
微信搜索 【跟着小康学编程】,关注我,定时分享计算机编程硬核技术文章。
之前整理了系统化学习 CS 的书籍,这次分享给大家,点击获取方式:
计算机必读书籍(含下载方式)C/C++/Java,数据结构,计算机网络,数据库,计算机组成原理,操作系统这些统统都有。1. 直接放入 Python 的 site-packages
目录
最简单粗暴的方法就是将你的 .py
文件直接放入 Python 的 site-packages
目录。这个目录存放着所有通过 pip
安装的库,只要放到这里,你的模块就能被全局引用了。
如何找到 site-packages
目录?
你可以在终端/命令行输入以下命令,查看 site-packages
的路径:
python -m site
运行后,你会看到类似这样的输出:
sys.path = [ '/usr/lib/python3.8/site-packages', ...]
这里面的 /usr/lib/python3.8/site-packages
就是 site-packages
目录。找到它后,把你写的 .py
文件直接放进去,比如你的文件叫 mymodule.py
,放入后,你可以在任何地方这样使用:
import mymodule
注意事项:
- 这种方法简单有效,但有一个缺点,就是一旦换了 Python 环境(比如换了虚拟环境),你又要重新放一次。
- 推荐文件组织成目录,并包含
__init__.py
文件,这样可以做成模块使用。
2. 通过 PYTHONPATH
环境变量全局配置
如果你不想直接把文件放到 site-packages
,另一种方法是通过设置 PYTHONPATH
环境变量来指定一个目录,这样 Python 会自动到这个目录中查找模块。
步骤:
- 把你的
.py
文件放到一个固定的目录,比如:/home/user/my_modules/
- 编辑环境变量,将这个路径加入
PYTHONPATH
。以 Linux 为例,打开~/.bashrc
文件,在最后加上:
export PYTHONPATH=$PYTHONPATH:/home/user/my_modules/
然后运行:
source ~/.bashrc
这样 Python 就知道去这个目录下找你的模块了。
使用:
配置好后,你可以在任何地方使用:
import mymodule
这样,不管你在哪个项目下,Python 都会自动查找 PYTHONPATH
指定的目录。
优点:
- 你可以集中管理多个模块,方便组织和扩展。
- 适合自己写了多个工具模块的情况。
计算机必读书籍(含下载方式)C/C++/Java,数据结构,计算机网络,数据库,计算机组成原理,操作系统这些统统都有。
3. 将你的模块安装到本地环境
你还可以把自己的模块做成一个“库”,通过 pip
来安装到本地环境。这适合你要打包发布,或者多个项目中使用同一个库。
步骤:
- 创建一个文件夹作为库。比如:
my_library/
mymodule.py
setup.py
- 编写
setup.py
。这个文件告诉pip
如何安装你的库,内容类似这样:
from setuptools import setup, find_packages
setup(
name='my_library',
version='1.0.0',
packages=find_packages(),
)
- 安装你的库。在库目录下运行:
pip install .
安装成功后,你就可以在任何地方使用:
import mymodule
优点:
- 这是比较正式的方式,特别适合多个项目共享使用。
- 方便管理版本,可以随时更新模块。
根据你的需求,选择最适合的方式。最推荐的是 PYTHONPATH 或 打包安装法,因为它们更方便管理和扩展。希望这篇回答能帮你快速上手,把自己写的模块变成本地库!
字节跳动、BAT Offer拿到手软?这些计算机基础资料我私藏了很久!
最后:
原创不易! 如果觉得这篇文章对你有帮助,记得双击屏幕给我 @xiaokang 点赞,顺便收藏+关注哦,笔芯~
当然,也欢迎大家关注我的公众号,微信搜索 【跟着小康学编程】,关注我,定时分享计算机编程硬核技术文章。具体可访问:跟着小康学编程。
(不要只收藏,不点赞啊喂~