{ "cells": [ { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "在anaconda 环境中运行jupyter notebook\n", "\n", "***\n", "***\n", "# 问题及其解决方法\n", "***\n", "***\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Mac电脑如何快速找到用户目录\n", "  \n", "- 1、在finder的`偏好设置`中选择`边栏`选中个人收藏下`房子的图标`,然后在边栏就可以看到用户目录,然后就可以找到目录了。\n", "\n", "- 2、在finder的`偏好设置`中选择`通用`,然后选择`磁盘`,磁盘就出现在桌面了,这样也可以很方便的进入`根目录`,进而找到用户目录;\n", "\n", "- 3、`桌面目录`下,菜单`前往`-`个人`也可以进入`用户目录`" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 如何打开jupyter notebook\n", "\n", "- Mac users: 打开terminal (可以在launchpad中找到),输入:`jupyter notebook`\n", "- windows users: 在电脑左下角输入'cmd'打开terminal, 输入:`jupyter notebook`" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 在terminal里成功安装第三方的包,结果发现在notebook里无法import\n", "> 这个问题多出现于mac用户,因为mac有一个系统自带的python,成功安装的第三方包都被安装到了系统自带的python里。因此需要确保我们使用的是conda自己的pip,即需要指定pip的路径名,比如我的pip路径名在:/Users/datalab/anaconda/bin/pip,那么在terminal里输入:\n", "\n", "> /Users/datalab/anaconda/bin/pip install package_name" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "- 或者在notebook的初始页面,右上方-new-terminal,在这个terminal里输入 \n", "> **pip install package_name**\n", "- 或者通过anaconda自带的spyder安装\n", "- 常用的包也可以直接 \n", "> **conda install package_name**\n" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# 如何查看anaconda自带的包和已经安装的包?\n", "> 打开terminal,输入: conda list" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# windows用户安装graphlab-create出错:unistall tornado, permission denied: tornado/speedup.pdy, 解决方法:\n", "- 首先,卸载tornado:\n", "> conda remove tornado\n", "- 然后,重新运行:\n", "> pip install -U graphlab-create" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 添加Anaconda的国内镜像,快速安装Python包\n", "\n", "**添加清华镜像**\n", "\n", "https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/\n", "\n", "```python\n", "conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/ \n", " \n", "conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/ \n", " \n", "conda config --add channels https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/\n", "conda config --set show_channel_urls yes\n", "```\n", "\n", "#### 设置搜索时显示通道地址 \n", "> conda config --set show_channel_urls yes \n", "\n", "如果命令行方法添加不上,可以在用户目录下的`.condarc`中添加https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/: \n", "如果没有该文件可以直接创建,Windows为`C://Users/username/.condarc`,Linux/Mac为`~/.condarc`" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "\n", "# To install a different version of Python without overwriting the current version\n", "\n", "https://conda.io/docs/user-guide/tasks/manage-python.html\n", "\n", "Creating a new environment and install the second Python version into it. To create the new environment for Python 2.7, in your Terminal window or an Anaconda Prompt, run:\n", "> conda create -n py27 python=2.7 anaconda=4.0.0\n", "\n", "## Activate the new environment ** 切换到新环境**\n", "\n", "- linux/Mac下需要使用: `source activate py27`\n", "- windows需要使用: `activate py27`\n", "\n", "**退出环境: `source deactivate py27`\n", "也可以使用** `activate root`切回root环境\n", "\n", "3. [Verify that the new environment is your current environment.](https://conda.io/docs/user-guide/tasks/manage-environments.html#determine-current-env)\n", "4. To verify that the current environment uses the new Python version, in your Terminal window or an Anaconda Prompt, run: `python --version`" ] }, { "cell_type": "markdown", "metadata": { "ExecuteTime": { "end_time": "2018-01-30T14:50:02.470601Z", "start_time": "2018-01-30T14:50:02.465394Z" }, "slideshow": { "slide_type": "slide" } }, "source": [ "## 使用py27环境时的一个例子:\n", "\n", "- 激活py27环境:`source activate py27`\n", "- 打开notebook: `jupyter notebook`\n", "- 关闭py27环境:`source deactivate py27`" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 如何让graphlab在notebook中展示所有的结果(不另外打开新的窗口)\n", "> 运行以下代码" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "slideshow": { "slide_type": "slide" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "A newer version of GraphLab Create (v1.9) is available! Your current version is v1.8.5.\n", "\n", "You can use pip to upgrade the graphlab-create package. For more information see https://dato.com/products/create/upgrade.\n" ] } ], "source": [ "import graphlab as gl\n", "from IPython.display import display\n", "from IPython.display import Image\n", "\n", "gl.canvas.set_target('ipynb')" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# 如何卸载一个包\n", "> conda remove package_name" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true, "slideshow": { "slide_type": "slide" } }, "source": [ "# roll back to a specific commit\n", "\n", "#### open the terminal, and cd to your github repo, e.g., \n", "\n", "> cd github/cjc2016\n", "\n", "#### git reset --hard , and if your old-commit-id is 3808166\n", "\n", "> git reset --hard 3808166\n", "\n", "> git push origin HEAD --force\n", "\n", "http://stackoverflow.com/questions/4372435/how-can-i-rollback-a-github-repository-to-a-specific-commit" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# python matplotlib plot 数据中的中文无法正常显示的解决办法\n", "\n", "原因:matplotlib默认字体并不是中文字体。\n", "\n", "解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为微软雅黑。\n", "\n", "环境:windows\n", "\n", "过程:\n", "\n", "在python的安装目录中找到配置文件:%Python_Home%\\Lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc,用任意文本编辑器打开。(最好先备份一下)\n", "\n", "找到第139行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei\n", "\n", "找到第151行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)\n", "\n", "为保险其间,到C:\\Windows\\Fonts\\中找到微软雅黑对应的字体文件msyh.ttf,将其复制到D:\\Python32\\Lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\目录下\n", "\n" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# python matplotlib plot 数据中的中文无法正常显示的解决办法\n", "\n", "原因:matplotlib默认字体并不是中文字体。\n", "\n", "解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为微软雅黑。\n", "\n", "环境:Mac\n", "\n", "过程:\n", "\n", "1. 下载微软雅黑对应的字体文件msyh.ttf,双击并安装msyh.ttf。\n", "2. 在python的安装目录中找到配置文件:%Python_Home%\\Lib\\site-packages\\matplotlib\\mpl-data\\matplotlibrc,用任意文本编辑器打开。(最好先备份一下)\n", " > Users/datalab/Applications/anaconda/lib/python3.5/site-packages/matplotlib/mpl-data/\n", " \n", " - 找到第139行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei\n", " - 找到第151行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)\n", "1. 为保险期间,可以将msyh.ttf复制到%Python_Home%\\Lib\\site-packages\\matplotlib\\mpl-data\\fonts\\ttf\\目录下\n", "\n" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2019-06-14T15:37:32.039606Z", "start_time": "2019-06-14T15:37:31.789295Z" }, "slideshow": { "slide_type": "slide" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "plt.plot(2, 2)\n", "plt.text(2, 2, '汉字', fontsize = 300)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# Jupyter contrib nbextensions\n", "\n", "- Unofficial Jupyter Notebook Extensions\n", "- A collection of various notebook extensions for Jupyter \n", "\n", "http://jupyter-contrib-nbextensions.readthedocs.io/en/latest/\n", "\n", "https://github.com/ipython-contrib/jupyter_contrib_nbextensions\n", "\n", "http://localhost:8888/nbextensions\n", "\n", "# Jupyter Nbextensions Configurator\n", "\n", "A jupyter notebook serverextension providing config interfaces for nbextensions.\n", "\n", "https://github.com/Jupyter-contrib/jupyter_nbextensions_configurator\n", "\n", "前者是各类型有用的插件,后者是能够直接在Jupyter 上图形话调节界面的功能。" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# 输出PDF\n", "\n", " a、安装pandoc\n", "\n", "https://github.com/jgm/pandoc/releases/tag/1.19.2.1\n", "\n", " b、安装MiKTeX\n", "\n", "https://miktex.org/download\n", "\n", " c、安装 GNU make for windows\n", "\n", "http://gnuwin32.sourceforge.net/packages/make.htm\n", "\n", " d、把上面安装好的软件路径,全部添加到环境变量里面\n", "\n", " e、PDF支持中文\n", "\n", " C:\\Python27\\Lib\\site-packages\\nbconvert\\templates\\latex\\article.tplx\n", "\n", " 把 \\documentclass[11pt]{article} 修改为 \\documentclass[11pt]{ctexart} 即可!!!\n", "\n", " \n", "\n", "Pandoc 支持中文\n", "\n", "pandoc infile.md -o outfile.pdf --latex-engine=xelatex -V mainfont=\"SimSun\"" ] }, { "cell_type": "markdown", "metadata": { "slideshow": { "slide_type": "slide" } }, "source": [ "# END" ] } ], "metadata": { "anaconda-cloud": {}, "celltoolbar": "Slideshow", "kernelspec": { "display_name": "Python [default]", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.4" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autoclose": false, "autocomplete": true, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 0, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": false, "sideBar": false, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": { "height": "712px", "left": "1736px", "top": "257px", "width": "159px" }, "toc_section_display": false, "toc_window_display": true }, "toc_position": { "height": "648px", "left": "11px", "right": "20px", "top": "117px", "width": "147px" } }, "nbformat": 4, "nbformat_minor": 1 }