2015-10-13 152 views
1

我在Windows 7上。當我啓動Python IDLE時,我希望它預加載:pandas,numpymatplotlib而不必輸入import語句。我經常導入它們。如何在啓動時在Python IDLE中預加載Python模塊?

我已經經歷了幾個職位涉水:

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,然後把我的pathC:\Python34\Lib\site-packages\jaradspythonstartup\defaultimports.py

pythonstartup environment variable

然而,這似乎只能在Windows命令提示符下運行,當我打開命令提示符,然後鍵入python我確實看到它加載我的打印語句。

Imported Successfully in command prompt

當我啓動IDLE,我沒有看到消息:pd, np, and plt imported print語句。在IDLE中,如果我和os.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' 
>>> 

我的問題

在啓動空閒載預我怎麼能模塊?

+0

我認爲你可以在你的路徑的某處添加sitecustomize.py文件實現這一目標。 – alejandro

回答

3

python -m idlelib -h在命令行上,其中python運行最近​​的3.x,將顯示IDLE的啓動命令;對於2.x使用idlelib.idle。它說

idle idlelib -s「在執行任何其他操作之前運行$ IDLESTARTUP或$ PYTHONSTARTUP」。

如果這不起作用,請嘗試python -m idlelib -s

當前,當您重新啓動shell時,發生在從編輯器運行文件時發生的情況.... STARTUP不會重新運行。我希望解決這個問題。

編輯:如何從桌面而不是命令行使用參數啓動IDLE。

  1. 製作正確標記的IDLE桌面圖標。轉到開始菜單> Python x.y> IDLE ...並複製到桌面。 Ctrl +鼠標左鍵拖動或(Win 7,至少)右鍵單擊,發送到>桌面(創建快捷方式)。如果對於3.4之前的Python,右鍵單擊圖標,選擇重命名,並用版本號標籤。 (我們最近投訴「我安裝了3.5,並且(預先存在的)桌面圖標打開了2.7)。

  2. 使圖標打開IDLE參數。右鍵單擊圖標,選擇屬性,單擊結束(您可能會也可能不會必須先點擊框)光標應該在行尾...pythonw.exe...idlew.py空格並添加參數我試着-c "print('hello')"進行測試爲-s添加STARTUP考慮重命名以指示添加,如IDLE 3.5 64 bit STARTUP,以防萬一您想要其他空閒桌面圖標。

+0

謝謝你的建議,我不知道關於任何這些功能之前。命令提示符中的python -m idlelib -s確實啓動了IDLE並導入了模塊,正如我所希望的那樣。這種方法雖然需要我打開命令提示符來啓動IDLE,這不是我典型的工作流程。我真正想弄明白的是......當我點擊我的任務欄或桌面上的IDLE快捷鍵時,當IDLE啓動時,我希望它在啓動時也加載特定的模塊。我提出的一個解決方案是將jarad \ defaults.py轉換爲模塊並導入它。一個導入而不是3 – Jarad

+0

我確定可以編輯桌面圖標的目標以包含啓動參數。請參閱編輯。 –

+0

如果我理解正確,步驟中的概要是1.將Python IDLE的快捷方式添加到桌面。 2.右鍵單擊「開始」中的>屬性>,添加命令行參數。在向桌面添加快捷方式並轉到屬性後,「開始於:」顯示「C:\ Python34 \」。當我將它改爲'C:\ Python34 \ -s'> Apply> OK時,再打開它,看起來像這樣:''C:\ Python34 \ -s「'。當我嘗試將它改爲'「C:\ Python34 \」-s'時,它將它改爲'「」C:\ Python34 \「-s」'。我也嘗試過與'C:\ Python34 \ Lib \ idlelib \ idle.py'同樣的過程。任何建議究竟要放入「開始於:」? – Jarad