Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在运行脚本时启动ipython_Python_Ipython - Fatal编程技术网

在运行脚本时启动ipython

在运行脚本时启动ipython,python,ipython,Python,Ipython,我的用例是,我想初始化文件中的一些函数,然后用定义的函数启动ipython。有没有办法做类似的事情 ipython --run_script=myscript.py? 根据,这是微不足道的: 使用以下命令启动IPython: 如果在没有选项的情况下调用,则 执行中列出的所有文件 排序并将您放入 口译员仍在确认 您在应用程序中设置的任何选项 ipythonrc文件。这种行为是错误的 与标准Python不同,标准Python 当被称为python-i时,仅 执行一个文件并忽略您的 配置设置 所以,

我的用例是,我想初始化文件中的一些函数,然后用定义的函数启动ipython。有没有办法做类似的事情

ipython --run_script=myscript.py?
根据,这是微不足道的:

使用以下命令启动IPython:

如果在没有选项的情况下调用,则 执行中列出的所有文件 排序并将您放入 口译员仍在确认 您在应用程序中设置的任何选项
ipythonrc
文件。这种行为是错误的 与标准Python不同,标准Python 当被称为
python-i
时,仅 执行一个文件并忽略您的 配置设置


所以,只需使用
ipythonmyfile.py
。。。你就在这里!-)

在ipython的最新版本中,您确实需要添加
-i
选项,以便随后进入交互式环境。如果没有
-i
,它只运行myfile.py中的代码并返回提示符

$ ipython -i myfile.py

现在,您可以使用ipython的启动文件夹,它位于您的主目录中(Windows上的C:\users\[username]\.ipython)。进入默认配置文件,您将看到一个带有自述文件的启动文件夹。只需将任何Python脚本放在其中,或者如果您需要ipython命令,请将它们放在扩展名为.ipy的文件中

您似乎正在寻找ipyhton的%run magic命令

通过在ipython中键入:

    %run hello_world.py

您将运行保存在主目录中的hello.py程序。您也可以访问该脚本中定义的函数和变量。

您可以使用ipython配置文件定义每次启动ipython时都将运行的启动脚本。给出了配置文件的完整描述。您可以使用不同的启动文件创建多个配置文件

假设您只需要一个配置文件,并且每次启动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
是用户名


默认配置文件位于
profile\u default
子目录中。将任何启动脚本放入
profile\u default/startup
。在这里的示例中,完整路径是
/home/johndoe/.config/ipython/profile\u default/startup
在Ubuntu 14.04中更新@Caleb针对Python 3.5的答案:通过复制@Caleb答案的相关部分,使这个答案自含


您可以使用ipython配置文件定义每次启动ipython时将运行的启动脚本。给出了配置文件的完整描述。您可以使用不同的启动文件创建多个配置文件

假设您只需要一个配置文件,并且每次启动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
输入:

import IPython
ipython_config_dir = IPython.paths.get_ipython_dir()
print(ipython_cofig_dir)
输出:

/home/johndoe/.ipython
在本例中,
johndoe
是用户名

/.ipython
文件夹中,默认的配置文件位于
profile\u default
子目录中。将任何启动脚本放入profile\u default/startup中。在这里的示例中,完整路径为

/home/johndoe/.ipython/profile_default/startup 

当您希望在每次使用ipython时自动运行启动脚本(而不是每次运行ipython时都必须指定脚本)时,可以使用以下情况

对于ipython的最新版本(即5.1.0),请将希望执行的一个或多个python脚本放在
ipython\u CONFIG\u DIR/profile\u PROFILENAME/startup
文件夹中

例如,在linux上,如果希望在未指定ipython配置文件的情况下运行python启动代码,可以将python启动代码放入名为
~/.ipython/profile\u default/startup/10 mystartuptuff.py
的文件中


有关创建和使用ipython配置文件的信息可用。

谢谢,很高兴了解startup目录。我最近在配置文件选项中找到了关于exec_文件的信息。似乎startup dir文件在exec_文件条目之前执行。这个链接提供了信息。
~/.config/ipython/profile\u default/startup
关于ubuntuAs的另一个注释,“最新版本”在这里指的是在0.10.2~>0.11架构更新之后,“-i”选项与ipython 0.10.2向后兼容(我可以确认)并且可能更低(我可以推测)。问题是如何用一个文件启动ipython,不在ipython中运行文件。照目前的情况,此答案无法回答问题。答案必须完全包含在其自身之中。我建议完成它。我应该编辑@Calebs answer吗?与此更新!还是让它自给自足?谢谢不过我已经编辑过了!我认为你不应该修改Calebs的答案,因为它会大大改变它。我会添加相关信息,让您自己回答这个问题。把你自己放在这样一个位置上:有人读了你的答案而没有读Calebs的,然后看看这个人需要什么信息才能理解你的答案从头到尾。:)这个答案现在已经过时了。见下文@Maarten的答案。您需要使用
-i
标志,以及您想要的任何其他选项,后跟python脚本名称。这样,您将留在解释器中,而不是立即退出。您为什么不将您的问题表述为一个问题?我不知道这是否是最近添加的,但定位给定配置文件的路径是由
IPython.path.locate\u profile()