2010-07-24 169 views
47

我的用例是我想初始化文件中的一些函數,然後用定義的那些函數啓動ipython。有什麼辦法做像ipython --run_script = myscript.py?啓動運行腳本的ipython

+0

你爲什麼不把你的問題作爲一個問題來解釋? – 2018-02-06 21:38:30

回答

26

the docs,是微不足道:

你用命令啓動IPython的:

$ ipython [options] files 

如果不帶選項調用,它 執行 順序列出的所有文件並讓你進入 口譯員,同時仍然確認 你可能會選擇的任何選項已在您的 ipythonrc文件中設置。這種行爲是 不同於標準Python,其中 被稱爲python -i時只會執行 一個文件並忽略您的 配置設置。

所以,只要使用ipython myfile.py ...你瞧 - !)

+0

這個答案現在已過時。請參閱下面的@ Maarten的答案。您需要使用'-i'標誌以及所需的任何其他選項,然後使用python腳本名稱。這樣,你將被留在翻譯中,而不是立即退出 – CPBL 2016-11-20 20:36:43

70

在最近版本的IPython中你需要添加-i選項就可以進入交互式環境之後。如果沒有-i它只運行myfile.py中的代碼並返回到提示符。

$ ipython -i myfile.py 
+5

作爲補充說明,這裏的「最新版本」意味着在0.10.2〜> 0.11建築改造之後,「-i」選項向後兼容ipython 0.10.2(我可以確認),可能更低(我可以推測)。 – DreadPirateShawn 2013-09-26 18:10:29

13

如今,你可以使用IPython中,它位於你的主目錄的啓動文件夾(C:\ Users \ [用戶名] \ IPython的Windows上)。進入默認配置文件,您將看到一個帶有自述文件的啓動文件夾。只要將任何Python腳本放在那裏,或者如果你想要ipython命令,就把它們放在一個擴展名爲.ipy的文件中。

+0

謝謝,很高興知道啓動目錄。我最近在配置文件選項中找到了關於exec_files的信息。似乎在exec_files條目之前執行啓動目錄文件。鏈接是信息。 – 2012-12-12 05:20:57

+1

ubuntu上的'〜/ .config/ipython/profile_default/startup' – wim 2014-03-18 14:16:42

0

您似乎在尋找ipyhton的%run magic命令。

通過IPython中鍵入:

%run hello_world.py 

你會碰到保存在你的home目錄hello.py程序。該腳本中定義的函數和變量也可供您訪問。

+1

問題是如何用文件啓動ipython,而不是在ipython中運行文件。 – 2016-05-23 08:38:12

9

您可以使用ipython配置文件來定義每次啓動ipython時都會運行的啓動腳本。完整描述的配置文件,給出here。您可以用不同的啓動文件創建多個配置文件。

假設您只需要一個配置文件,並且每次啓動ipython時都需要相同的啓動文件,則可以簡單地修改默認配置文件。要做到這一點,首先找出你的IPython的配置目錄是在IPython的會話:

In [1]: import IPython 
In [2]: IPython.paths.get_ipython_dir() # As of IPython v4.0 
In [3]: print(ipython_config_dir) 
/home/johndoe/.config/ipython 

在這個例子中,我使用的Ubuntu Linux操作系統,並配置目錄是在/home/johndoe/.config/ipython,其中johndoe是用戶名。

default_profile位於profile_default子目錄中。將任何起始腳本放入profile_default/startup。在這裏的例子中,完整路徑是/home/johndoe/.config/ipython/profile_default/startup

+0

在最新版本的IPython中,get_ipython_dir()現在位於IPython.paths.get_ipython_dir() – lehalle 2017-07-18 09:24:13

+0

謝謝!這是一箇舊帖子...我糾正了它。 – Caleb 2017-07-31 18:07:51

0

在Ubuntu 14.04中更新到@ Caleb的Python 3.5的答案:通過複製@ Caleb的答案的相關部分使此答案自成一體。

您可以使用ipython配置文件定義每次啓動ipython時都會運行的啓動腳本。完整描述的配置文件,給出here。您可以用不同的啓動文件創建多個配置文件。

假設您只需要一個配置文件,並且每次啓動ipython時都需要相同的啓動文件,則可以簡單地修改默認配置文件。要做到這一點,首先找出你的IPython的配置目錄是在IPython的會話:

輸入:

import IPython 
ipython_config_dir = IPython.paths.get_ipython_dir() 
print(ipython_cofig_dir) 

輸出:

/home/johndoe/.ipython 

在這個例子中johndoe是用戶名。

/.ipython文件夾中,default_profile位於profile_default子目錄中。將任何啓動腳本放入profile_default/startup中。在這裏的例子,全路徑將是

/home/johndoe/.ipython/profile_default/startup 
+1

因爲它是這個答案不回答這個問題。答案必須完全包含在內。我建議完成它。 – 2016-05-23 08:41:11

+0

我應該只編輯@Calebs答案嗎?與此更新!或讓它自成一體?謝謝!已經編輯它! – 2016-05-23 11:41:41

+1

我不認爲你應該修改迦勒答案,因爲它大大改變它。我會添加相關信息,讓您自己回答問題的答案。讓自己置身於閱讀你的答案而不閱讀凱勒布斯的人的位置,並查看該人需要哪些信息才能開始結束。 :) – 2016-05-23 11:59:49

0

以下是的情況下,當你想,只要你使用IPython中(而不必,你必須每次都指定腳本啓動腳本來自動運行您運行ipython)。

對於ipython的最新版本(即5.1.0),在IPYTHON_CONFIG_DIR/profile_PROFILENAME/startup文件夾中放置一個或多個您希望執行的Python腳本。

例如,在linux上,如果您希望在未指定ipython配置文件時運行它,則可以將您的python啓動代碼放入一個名爲~/.ipython/profile_default/startup/10-mystartupstuff.py的文件中。

有關創建和使用ipython配置文件的信息可用here