ipython

通过SSH远程使用ipython notebook

只谈情不闲聊 提交于 2020-03-05 06:53:50
本文讲述如何在本地用浏览器运行远程服务器上的iPython notebook服务。 在远程机器上,启动IPython notebooks服务: remote_user@remote_host$ ipython notebook --no-browser --port=8889 在本地机器上,打开一个可以SSH登录的工具: local_user@local_host$ ssh -N -f -L localhost:8888:localhost:8889 remote_user@remote_host 第一个 -N 参数告诉SSH没有命令要被远程执行,对于port forwarding很有用。第二个参数 -f 告诉SSH在后台执行,因此本地终端就能一直保持有效能用。最后的参数 -L 是指定port forwarding的配置,远端端口是8889,本地的端口号的8888. 我是用Xshell远程登录的,另外也有人推荐Putty之类的。XShell的配置如下: 然后,在本地用浏览器打开localhost:8888,就会看到熟悉的IPython notebooks界面啦。 远程服务器上会显示这些 local_user@local_host$ ps aux | grep localhost:8889 local_user 18418 0.0 0.0 41488 684 ? Ss 17:27 0

部署基于python的web发布环境(第二篇):环境部署3:centos7.5安装python,安装使用virtualenv

杀马特。学长 韩版系。学妹 提交于 2020-02-28 20:25:59
一、下载python [root@web src]# pwd /usr/src ​ [root@web src]# wget https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz    二、安装依赖 [root@web src]# yum -y install gcc-* openssl-* sqlite-devel libffi-devel    三、开始安装 [root@web src]# pwd /usr/src [root@web src]# ls cmake-3.6.0-rc1 kernels nginx-1.15.5 debug mysql-5.7.29 Python-3.7.1.tar.xz [root@web src]# tar xf Python-3.7.1.tar.xz #开始配置 [root@web src]# cd Python-3.7.1 [root@web Python-3.7.1]# ls aclocal.m4 Doc m4 Parser README.rst CODE_OF_CONDUCT.rst Grammar Mac PC setup.py config.guess Include Makefile.pre.in PCbuild Tools config.sub install

如何获得Python函数的源代码?

房东的猫 提交于 2020-02-27 18:23:05
假设我有如下定义的Python函数: def foo(arg1,arg2): #do something with args a = arg1 + arg2 return a 我可以使用 foo.func_name 获得函数的名称。 如上所述,我如何以编程方式获取其源代码? #1楼 如果您要严格定义函数,并且定义相对简短,那么没有依赖性的解决方案是在字符串中定义函数并将表达式的eval()分配给函数。 例如 funcstring = 'lambda x: x> 5' func = eval(funcstring) 然后可以选择将原始代码附加到该函数: func.source = funcstring #2楼 如果源代码不可用, dis 是您的朋友: >>> import dis >>> def foo(arg1,arg2): ... #do something with args ... a = arg1 + arg2 ... return a ... >>> dis.dis(foo) 3 0 LOAD_FAST 0 (arg1) 3 LOAD_FAST 1 (arg2) 6 BINARY_ADD 7 STORE_FAST 2 (a) 4 10 LOAD_FAST 2 (a) 13 RETURN_VALUE #3楼 虽然我通常会认为 inspect 是一个很好的答案

如何列出Python模块中的所有功能?

◇◆丶佛笑我妖孽 提交于 2020-02-27 09:43:00
我的系统上安装了python模块,我希望能够看到其中可用的函数/类/方法。 我想在每个函数上调用doc函数。 在ruby中,我可以执行类似ClassName.methods之类的操作来获取该类上所有可用方法的列表。 python中是否有类似的东西? 例如。 就像是: from somemodule import foo print foo.methods # or whatever is the correct method to call #1楼 dir(module) 是使用脚本或标准解释器的标准方式,如大多数答案中所述。 但是,使用像 IPython 这样的交互式python shell,您可以使用tab-completion来概述模块中定义的所有对象。 这比使用脚本和 print 来查看模块中定义的内容要方便得多。 module.<tab> 将向您显示模块中定义的所有对象(函数,类等) module.ClassX.<tab> 将向您显示类的方法和属性 module.function_xy? 或 module.ClassX.method_xy? 将向您显示该函数/方法的文档字符串 module.function_x?? 或 module.SomeClass.method_xy?? 将显示函数/方法的源代码。 #2楼 您可以使用 dir(module) 查看所有可用的方法/属性

如何保存Python交互式会话?

一个人想着一个人 提交于 2020-02-27 06:25:01
我发现自己经常使用Python的解释器来处理数据库,文件等 - 基本上是大量的半结构化数据的手动格式化。 我没有像我希望的那样经常保存和清理有用的位。 有没有办法将我的输入保存到shell(数据库连接,变量赋值,少量循环和逻辑位) - 交互式会话的一些历史记录? 如果我使用类似 script 东西,我会得到太多的噪音。 我真的不需要腌制所有对象 - 但如果有一个解决方案可以做到这一点,那就没关系。 理想情况下,我只剩下一个脚本,它以我交互式创建的脚本运行,我可以删除我不需要的位。 有没有这样做的包,或DIY方法? 更新 :我对这些包的质量和实用性感到非常惊讶。 对于那些有类似痒的人: IPython - 应该已经使用了很多年了,我想到的是什么 重新进行 - 非常令人印象深刻,我想了解更多有关可视化的知识,这似乎会在那里发光。 一种gtk / gnome桌面应用程序,用于内嵌图形。 想象一下混合壳+图形计算器+迷你蚀。 来源分布在这里: http : //www.reinteract.org/trac/wiki/GettingIt 。 在Ubuntu上运行良好,也集成到gnome桌面,Windows和Mac安装程序中。 bpython - 非常酷,很多不错的功能,自动完成(!),倒带,一键击保存到文件,缩进,做得好。 Python源代码分发,从sourceforge中提取了几个依赖项

阿里云打造Jupyterlab数据科学环境

强颜欢笑 提交于 2020-02-27 04:58:19
本篇博客主要解决阿里云服务器上Jupyterlab配置方面的一些问题,关于安装教程详情见之前的这篇博客。 Windows的Linux子系统搭建数据科学环境 1 安装完无法启动Jupyterlab 首先声明,我在Anaconda3安装过程中已经设置了将安装相关的Python,ipython,Jupyter等添加到环境变量。但是一开始安装完,直接在命令行里敲入Jupyter lab仍旧提示找不到命令。 造成这个问题的可能原因是仍然需要将安装路径设置到环境变量里,也有可能是没有更新环境变量(因为我没有先更新环境变量测试,所以现在不确定解决方式,但是可以两个都做,应该能解决)。 设置环境变量与更新环境变量。。~/anaconda2/bin指Anaconda安装的位置,对应到我的jupyterlab就是Anaconda3的bin文件夹。后面那句命令行即为更新环境变量。 echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc source ~/.bashrc 2 解决第一个问题以后出现OSError 在解决第一个问题以后,运行jupyter lab,报错为"OSError: [Errno 99] Cannot assign requested address"。谷歌搜索问题解决方式即在jupyter lab后面加上--ip=0.0.0.0

Python多行字符串的正确缩进

余生长醉 提交于 2020-02-26 09:36:11
函数中Python多行字符串的正确缩进是什么? def method(): string = """line one line two line three""" 要么 def method(): string = """line one line two line three""" 或者是其他东西? 在第一个例子中将字符串悬挂在函数外部看起来有点奇怪。 #1楼 还有一些选择。 在启用了pylab的Ipython中,dedent已经在命名空间中。 我查了一下,它来自matplotlib。 或者它可以导入: from matplotlib.cbook import dedent 在文档中,它声明它比textwrap等效的快,并且在我的ipython测试中,它的平均速度确实快了3倍。 它还有一个好处,它丢弃任何前导空行,这使您可以灵活地构建字符串: """ line 1 of string line 2 of string """ """\ line 1 of string line 2 of string """ """line 1 of string line 2 of string """ 在这三个例子中使用matplotlib dedent将给出相同的合理结果。 textwrap dedent函数将在第一个示例中有一个前导空白行。 显而易见的缺点是textwrap在标准库中

使用scrapy shell时设置cookies和headers

萝らか妹 提交于 2020-02-23 00:54:48
有时为了测试xpath,需要临时下载个页面,这时使用命令行进行测试是最方便的,但是很多网站页面需要认证,不能直接使用scrapy shell命令进行页面的抓取,所以需要重新对请求进行构造,设置cookies和headers。 首先在当前装有scrapy的python环境中安装ipython # python环境下 pip install ipython # conda环境下 conda install ipython 首先进入scrapy shell,会自动使用ipython scrapy shell 把cookies转成字典格式 # 指定请求目标的 URL 链接 url = 'https://novel18.syosetu.com/n7016er/31/' # 自定义 Headers 请求头(一般建议在调试时使用自定义 UA,以绕过最基础的 User-Agent 检测) headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36'} # 构造需要附带的 Cookies 字典 cookies = {"key_1": "value_1", "key_2": "value_2

Trigger File Download within iPython Notebook

别等时光非礼了梦想. 提交于 2020-02-21 10:19:06
问题 Given an iPython notebook running on an external server, is there a way to trigger a file download? I would like to either be able to have the notebook be able to initiate the download of a file living on the the external server to the where the notebook is being rendered locally, or perform a direct string dump from the notebook workspace into a text file, downloaded locally. I.E. a powerful and tool would be a Notebook that can query from a database, alter data, and download the query

02_第一个 Python 程序

爱⌒轻易说出口 提交于 2020-02-17 17:34:59
第一个 Python 程序 目标 第一个 HelloPython 程序 Python 2.x 与 3​​.x 版本简介 执行 Python 程序的三种方式 解释器 —— python / python3 交互式 —— ipython 集成开发环境 —— PyCharm 01. 第一个 HelloPython 程序 1.1 Python 源程序的基本概念 Python 源程序就是 一个特殊格式的文本文件 ,可以 使用任意文本编辑软件 做 Python 的开发 Python 程序的 文件扩展名 通常都是 .py 1.2 演练步骤 在桌面下,新建 认识Python 目录 在 认识Python 目录下新建 01-HelloPython.py 文件 使用 gedit 编辑 01-HelloPython.py 并且输入以下内容: print ( "hello python" ) print ( "hello world" ) 在终端中输入以下命令执行 01-HelloPython.py $ python 01-HelloPython.py print 是 python 中我们学习的第一个 函数 print 函数的作用,可以把 “” 内部的内容,输出到屏幕上 1.3 演练扩展 —— 认识错误(BUG) 关于错误 编写的程序 不能正常执行 ,或者 执行的结果不是我们期望的 俗称 BUG