最近通过python学习爬虫技术,发现一个工具jupyter notebook很不错,该工具明显优势通过浏览器可以输入多行python代码,支持在线运行以及运行结果保存功能,在线验证python小模块功能也不错。
不过该工具使用前必须在本地先开启jupyter服务,如jupyter notebook
然后才能使用notebook功能,如在浏览器上输入:
http://localhost:xxxx/notebooks
本人感觉不是很方便,能不能先在别的机器上搭载一个这样服务,下次只需要运行
http://server:port/notebooks
通过网上了解,很多帖子是讲linux搭建jupyter服务器的例子,很少有windows搭建jupyter 服务器的例子,也许是本人没有找到,请各位大虾不要笑话本人
本人认真阅读了这些帖子的方法,然后类比该工具肯定能在windows上搭建成功,决定尝试一下
开始当然是安装好python3,然后通过pip3 install jupyter
在安装jupyter的过程中遇到了markupsafe 安装失败的错误信息,根据提示信息通过百度搜索发现是windoiws cmd 下编码的问题,按照网友的方法通过安装git bash,选择git cmd(管理模式下),重新安装markup,
结果安装jupyter成功了
最后在同一局域网的其他机器上机器上
接下来就是配置jupyter 服务器了
1.生成jupyter 配置文件 jupyter_notebook_config.py
命令如下
jupyter notebook --generate-config
该配置文件存放在/User/当前用户/.jupyter/目录下(注意当前用户就是登陆windows的用户名,如Administrator)
2.修改登陆访问密码
jupyter notebook password
然后系统提示输入密码
3.修改Jupyter notebook 默认工作目录
在配置文件jupyter_notebook_config.py中找到“c.NotebookApp.notebook_dir=‘....’" ,然后把该参数‘=‘后的内容该成实际的决对路径就好
4.修改远程访问配置
c.NotebookApp.ip = '*' 这个‘*'就表示任何IP可以访问该jupyter服务’
最后在windows服务器机器上运行下面命令如下:
jupyter notebook --no-browser --ip=0.0.0.0 --port=xxxx 这个xxxx就是访问的端口
这样jupyter服务器安装配置完成,当然为了每次开机自动运行,可以把上面这个命令运行加载到系统服务中就好OK.
怎样把任意exe程序注册成windows系统服务
某软件每次开机都需要手动启动,就算添加成开机启动项,在win8.1下权限的管理更加严格,开机时并不能成功启动软件(无人值守时开机),因此在网上搜索把exe注册成系统服务的办法,找到论坛两个帖子,可将代理程序注册成系统服务开机自动启动而不用每次重启系统都要手动启动程序。本经验非原创,内容来自于以上两个帖子。
方法/步骤
-
要实现这个功能要用到微软提供的两个小工具“instsrv.exe”和“srvany.exe”。先下载这两个程序然后放在同一个目录,我是直接放在D盘的,然后进入到DOS命令行下面输入如下命令注册服务:
d:instsrv.exe tjserver d:srvany.exe //tjserver是服务名
这个命令是把srvany.exe这个程序注册成了系统服务
-
然后进入注册表在HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServices下找到刚刚注册的服务名tjserver,在tjserver新建一个项,名称为“Parameters”,单击选中它然后在右侧的窗口新建一个字符串值名称为“Application”,将其值设置为你针要做为服务运行的程序的路径,例如我的路径为“D:\tools\tjs.exe”。这里特别要注意的是程序路径一定要写得跟前面的例子一样,也是就是中间是用双斜杠隔开,不然服务没办法自动启动。
然后可以再建立一个AppDirectory指定程序运行的初始目录(可选)。
如果你需要把自己注册的服务做得看起来更专业也更好理解的话还可以继续新建一个字符串值名称为“Description”,在其值里面你可以输入你想显示的服务描述。
-
还有一点特别要注意的是,如果你要做为服务运行的程序是在运行后需要界面的,我们可以在控制面板里面找到管理工具然后打开服务或者直接运行“Services.msc”命令打开服务,找到刚刚创建的服务右键打开属性,选中登陆选项卡,登陆身份选中本地系统帐户并选中允许服务与桌面交互最后点确定,这样你的服务在启动后就可以看到界面了。
-
删除注册的服务
先停止服务,然后用命令“d:instsrv.exe tjserver remove”删除服务
网上还有一种和功能和instsrv.exe一样的界面操作的程序,名称为“srvinstw.exe”,只需要点点鼠标就可以完成上面的第一步,详细使用方法就不说了,很简单的。