我在Windows上使用python。而我正试图找到一种方法来启动python时导入一些默认模块。这意味着,在启动python时,应该已经导入了一些模块,就像 builtins 一样。有什么办法吗?
感谢。
答案 0 :(得分:4)
如果您在进入交互模式时的意思是,只需制作一个小的启动脚本。而不是仅使用:
启动pythonpython
尝试改为:
python -i startupImports.py
startupImports.py:
import time
from collections import defaultdict
from customclass import myclass
#...etc
答案 1 :(得分:3)
定义一个PYTHONSTARTUP
环境变量并将其指向一个python文件,当你在没有命令行脚本的情况下以交互方式启动python时它将被加载。
我有PYTHONSTARTUP
指向.pythonrc
,我尝试在当前目录中为任何交互式python会话导入__boot__.py
(引导程序)。
try:
from __boot__ import *
except Exception:
pass
我的pythonrc中有许多其他内容,如__future__
导入,readline设置等。
答案 2 :(得分:1)
一种选择是将导入添加到sitecustomize.py
。该文件在启动时自动导入。无论Python是否以交互模式启动,都将加载此文件。引用docs:
[在site.py中]尝试导入名为sitecustomize的模块,该模块可以执行任意特定于站点的自定义。它通常由site-packages目录中的系统管理员创建。如果此导入失败并出现ImportError异常,则会以静默方式忽略它。
另一种选择是使用导入将PYTHONSTARTUP
环境变量设置为启动脚本。但是,只有在以交互模式启动Python时才会执行此操作。