如何在启动时在Python IDLE中预加载Python模块?

时间:2015-10-13 18:07:32

标签: python shell python-idle

我在Windows 7上。当我启动Python IDLE 时,我希望它预先加载:pandasnumpymatplotlib输入import语句。我经常导入它们。

我已经介绍了几个帖子:

This one has to do with iPython, not IDLE-specific

This one has to do with running a script in IDLE

This one talks about PYTHONSTARTUP for interactive sessions

从这些帖子中,我确定Windows命令提示符python交互式shell和IDLE的交互式shell之间存在明显差异。

例如,我创建了defaultimports.py并将其放在此位置:

C:\Python34\Lib\site-packages\jaradspythonstartup

该脚本包含以下内容:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
print('pd, np and plt imported')

接下来,在我的机器上,我转到Start> Computer>右键单击Properties> Advanced system settings> environment variables>点击了New...并添加了一个名为variable的新PYTHONSTARTUP,然后添加了path C:\Python34\Lib\site-packages\jaradspythonstartup\defaultimports.py

pythonstartup environment variable

但是,当我打开命令提示符并键入python时,这似乎仅适用于Windows命令提示符。我确实看到它加载了我的print语句。

Imported Successfully in command prompt

当我启动IDLE时,我没有看到消息:pd, np, and plt imported print statement。在IDLE中,如果我import osos.environ['PYTHONSTARTUP'],我确实看到我的环境变量已定义,但不知道是否需要注意这一点。

Python 3.4.2 (v3.4.2:ab2c023a9432, Oct  6 2014, 22:15:05) [MSC v.1600 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import os
>>> os.environ['PYTHONSTARTUP']
'C:\\Python34\\Lib\\site-packages\\jaradspythonstartup\\defaultimports.py'
>>> 

我的问题

如何在启动时在IDLE中预加载模块?

1 个答案:

答案 0 :(得分:3)

命令行上的

python -m idlelib -h,其中python运行最近的3.x,将显示IDLE的启动命令;使用idlelib.idle表示2.x.它说

idle idlelib -s“先运行$ IDLESTARTUP或$ PYTHONSTARTUP”。

如果不起作用,请尝试python -m idlelib -s

目前,当您重新启动shell时,从编辑器运行文件时会发生这种情况,...... STARTUP不会重新运行。我希望能解决这个问题。

编辑:如何使用桌面而不是命令行的参数启动IDLE。

  1. 制作带有正确标签的IDLE桌面图标。转到“开始”菜单> Python x.y> IDLE ...并复制到桌面。控制左鼠标按钮拖动或(至少赢7)右键单击,发送到>桌面(创建快捷方式)。如果对于3.4之前的Python,右键单击图标,选择重命名,并使用版本号标记。 (我们最近得到了投诉“我安装了3.5并且(预先存在的)桌面图标打开了2.7。)。

  2. 使用参数使图标打开IDLE。右键单击图标,选择属性,单击结束(您可能可能不必先单击框)。光标应位于...pythonw.exe...idlew.py的行尾。空格并添加参数。我试过-c "print('hello')"进行测试。为{STARTUP}添加-s。考虑重命名以指示添加,例如IDLE 3.5 64 bit STARTUP,以防您想要另一个IDLE桌面图标。