
gophernotes is a Go kernel for Jupyter notebooks and nteract. It lets you use Go interactively in a browser-based notebook or desktop app. Use gophernotes to create and share documents that contain live Go code, equations, visualizations and explanatory text. These notebooks, with the live Go code, can then be shared with others via email, Dropbox, GitHub and the Jupyter Notebook Viewer. Go forth and do data science, or anything else interesting, with Go notebooks!
Acknowledgements - This project utilizes a Go interpreter called gomacro under the hood to evaluate Go code interactively. The gophernotes logo was designed by the brilliant Marcus Olsson and was inspired by Renee French's original Go Gopher design.


go install).The instructions below should work both on Linux and on FreeBSD.
Method 1: quick installation as module
go install github.com/gopherdata/gophernotes@v0.7.5 mkdir -p ~/.local/share/jupyter/kernels/gophernotes cd ~/.local/share/jupyter/kernels/gophernotes cp "$(go env GOPATH)"/pkg/mod/github.com/gopherdata/gophernotes@v0.7.5/kernel/* "." chmod +w ./kernel.json # in case copied kernel.json has no write permission sed "s|gophernotes|$(go env GOPATH)/bin/gophernotes|" < kernel.json.in > kernel.json
Method 2: manual installation from GOPATH
mkdir -p "$(go env GOPATH)"/src/github.com/gopherdata cd "$(go env GOPATH)"/src/github.com/gopherdata git clone https://github.com/gopherdata/gophernotes cd gophernotes git checkout -f v0.7.5 go install mkdir -p ~/.local/share/jupyter/kernels/gophernotes cp kernel/* ~/.local/share/jupyter/kernels/gophernotes cd ~/.local/share/jupyter/kernels/gophernotes chmod +w ./kernel.json # in case copied kernel.json has no write permission sed "s|gophernotes|$(go env GOPATH)/bin/gophernotes|" < kernel.json.in > kernel.json
To confirm that the gophernotes binary is installed in GOPATH, execute it directly:
"$(go env GOPATH)"/bin/gophernotes
and you should see the following:
2017/09/20 10:33:12 Need a command line argument specifying the connection file.
Note - if you have the JUPYTER_PATH environmental variable set or if you are using an older version of Jupyter, you may need to copy this kernel config to another directory. You can check which directories will be searched by executing:
jupyter --data-dir
Important Note - gomacro relies on the plugin package when importing third party libraries. This package works reliably on Mac OS X with Go 1.10.2+ as long as you never execute the command strip gophernotes.
Method 1: quick installation as module
go install github.com/gopherdata/gophernotes@v0.7.5 mkdir -p ~/Library/Jupyter/kernels/gophernotes cd ~/Library/Jupyter/kernels/gophernotes cp "$(go env GOPATH)"/pkg/mod/github.com/gopherdata/gophernotes@v0.7.5/kernel/* "." chmod +w ./kernel.json # in case copied kernel.json has no write permission sed "s|gophernotes|$(go env GOPATH)/bin/gophernotes|" < kernel.json.in > kernel.json
Method 2: manual installation from GOPATH
mkdir -p "$(go env GOPATH)"/src/github.com/gopherdata cd "$(go env GOPATH)"/src/github.com/gopherdata git clone https://github.com/gopherdata/gophernotes cd gophernotes git checkout -f v0.7.5 go install mkdir -p ~/Library/Jupyter/kernels/gophernotes cp kernel/* ~/Library/Jupyter/kernels/gophernotes cd ~/Library/Jupyter/kernels/gophernotes chmod +w ./kernel.json # in case copied kernel.json has no write permission sed "s|gophernotes|$(go env GOPATH)/bin/gophernotes|" < kernel.json.in > kernel.json
To confirm that the gophernotes binary is installed in GOPATH, execute it directly:
"$(go env GOPATH)"/bin/gophernotes
and you should see the following:
2017/09/20 10:33:12 Need a command line argument specifying the connection file.
Note - if you have the JUPYTER_PATH environmental variable set or if you are using an older version of Jupyter, you may need to copy this kernel config to another directory. You can check which directories will be searched by executing:
jupyter --data-dir
Important Note - gomacro relies on the plugin package when importing third party libraries. This package is only supported on Linux and Mac OS X currently. Thus, if you need to utilize third party packages in your Go notebooks and you are running on Windows, you should use the Docker install and run gophernotes/Jupyter in Docker.
Download gophernotes inside GOPATH, compile and install it
go env GOPATH > temp.txt
set /p GOPATH=<temp.txt
mkdir %GOPATH%\src\github.com\gopherdata
cd /d %GOPATH%\src\github.com\gopherdata
git clone https://github.com/gopherdata/gophernotes
cd gophernotes
git checkout -f v0.7.5
go install
Copy the kernel config:
mkdir %APPDATA%\jupyter\kernels\gophernotes
xcopy %GOPATH%\src\github.com\gopherdata\gophernotes\kernel %APPDATA%\jupyter\kernels\gophernotes /s
Note, if you have the JUPYTER_PATH environmental variable set or if you are using an older version of Jupyter, you may need to copy this kernel config to another directory. You can check which directories will be searched by executing:
jupyter --data-dir
Update %APPDATA%\jupyter\kernels\gophernotes\kernel.json with the FULL PATH to your gophernotes.exe (usually in %GOPATH%\bin). For example:
{
"argv": [
"C:\\gopath\\bin\\gophernotes.exe",
"{connection_file}"
],
"display_name": "Go",
"language": "go",
"name": "go"
}
You can try out or run Jupyter + gophernotes without installing anything using Docker. To run a Go notebook that only needs things from the standard library, run:
docker run -it -p 8888:8888 gopherdata/gophernotes
Or to run a Go notebook with access to common Go data science packages (gonum, gota, golearn, etc.), run:
docker run -it -p 8888:8888 gopherdata/gophernotes:latest-ds
In either case, running this command should output a link that you can follow to access Jupyter in a browser. Also, to save notebooks to and/or load notebooks from a location outside of the Docker image, you should utilize a volume mount. For example:
docker run -it -p 8888:8888 -v /path/to/local/notebooks:/path/to/notebooks/in/docker gopherdata/gophernotes
If you completed one of the local installs above (i.e., not the Docker install), start the jupyter notebook server:
jupyter notebook
Select Go from the New drop down menu.
Have fun!
Launch nteract.
From the nteract menu select Language -> Go.
Have fun!
In addition to Go code, the following special commands are also supported - they must be on a line by their own:
gophernotes uses gomacro under the hood to evaluate Go code interactively. You can evaluate most any Go code with gomacro, but there are some limitations, which are discussed in further detail here. Most notably, gophernotes does NOT support:
plugin package.Also, creation of new named types is emulated, and their methods are visible only to interpreted code.
Depending on your environment, you may need to manually change the path to the gophernotes executable in kernel/kernel.json before copying it to ~/.local/share/jupyter/kernels/gophernotes. You can put the full path to the gophernotes executable here, and you shouldn't have any further issues.
Traceback (most recent call last):
File "/usr/local/lib/python2.7/site-packages/notebook/base/handlers.py", line 458, in wrapper
result = yield gen.maybe_future(method(self, *args, **kwargs))
File "/usr/local/lib/python2.7/site-packages/tornado/gen.py", line 1008, in run
value = future.result()
...
File "/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Stop jupyter, if it's already running.
Add a symlink to /go/bin/gophernotes from your path to the gophernotes executable. If you followed the instructions above, this will be:
sudo ln -s $HOME/go/bin/gophernotes /go/bin/gophernotes
Restart jupyter, and you should now be up and running.
At a first analysis, it seems to be a limitation of the new import mechanism that supports Go modules.
You can switch the old (non module-aware) mechanism with the command %go111module off
To re-enable modules support, execute %go111module on
In order to see the logs for your Jupyter notebook, use the --log-level option
jupyter notebook --log-level


AI一键生成PPT,就用博思AIPPT!
博思AIPPT,新一代的AI生成PPT平台,支持智能生成PPT、AI美化PPT、文本&链接生成PPT、导入Word/PDF/Markdown文档生成PPT等,内置海量精美PPT模板,涵盖商务、教育、科技等不同风格,同时针对每个页面提供多种版式,一键自适应切换,完美适配各种办公场景。


AI赋能电商视觉革命,一站式智能商拍平台
潮际好麦深耕服装行业,是国内AI试衣效果最好的软件。使用先进AIGC能力为电商卖家批量提供优质的、低成本的商拍图。合作品牌有Shein、Lazada、安踏、百丽等65个国内外头部品牌,以及国内10万+淘宝、天猫、京东等主流平台的品牌商家,为卖家节省将近85%的出图成本,提升约3倍出图效率,让品牌能够快速上架。


企业专属的AI法律顾问
iTerms是法大大集团旗下法律子品牌,基于最先进的大语言模型(LLM)、专业的法律知识库和强大的智能体架构,帮助企业扫清合规障碍,筑牢风控防线,成为您企业专属的AI法律顾问。


稳定高效的流量提升解决方案,助力品牌曝光
稳定高效的流量提升解决方案,助力品牌曝光


最新版Sora2模型免费使用,一键生成无水印视频
最新版Sora2模型免费使用,一键生成无水印视频


实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。


选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。


最强AI数据分析助手
小浣熊家族Raccoon,您的AI智能助手,致力于通过先进的人工智能技术,为用户提供高效、便捷的智能服务。无论是日常咨询还是专业问题解答,小浣熊都能以快速、准确的响应满足您的需求,让您的生活更加智能便捷。


像人一样思考的AI智能体
imini 是 一款超级AI智能体,能根据人类指令,自主思考、自主完成、并且交付结果的AI智能体。