Skip to content

Instantly share code, notes, and snippets.

@tomkao
Created October 19, 2018 11:00
Show Gist options
  • Save tomkao/3a5af73c734225bfcc28a18804f60101 to your computer and use it in GitHub Desktop.
Save tomkao/3a5af73c734225bfcc28a18804f60101 to your computer and use it in GitHub Desktop.
ipython 路徑問題
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"appnope==0.1.0\r\n",
"backcall==0.1.0\r\n",
"bleach==3.0.2\r\n",
"decorator==4.3.0\r\n",
"defusedxml==0.5.0\r\n",
"entrypoints==0.2.3\r\n",
"ipykernel==5.1.0\r\n",
"ipython==7.0.1\r\n",
"ipython-genutils==0.2.0\r\n",
"ipywidgets==7.4.2\r\n",
"jedi==0.13.1\r\n",
"Jinja2==2.10\r\n",
"jsonschema==2.6.0\r\n",
"jupyter==1.0.0\r\n",
"jupyter-client==5.2.3\r\n",
"jupyter-console==6.0.0\r\n",
"jupyter-core==4.4.0\r\n",
"MarkupSafe==1.0\r\n",
"mistune==0.8.4\r\n",
"nbconvert==5.4.0\r\n",
"nbformat==4.4.0\r\n",
"notebook==5.7.0\r\n",
"pandocfilters==1.4.2\r\n",
"parso==0.3.1\r\n",
"pexpect==4.6.0\r\n",
"pickleshare==0.7.5\r\n",
"prometheus-client==0.4.2\r\n",
"prompt-toolkit==2.0.6\r\n",
"ptyprocess==0.6.0\r\n",
"Pygments==2.2.0\r\n",
"python-dateutil==2.7.3\r\n",
"pyzmq==17.1.2\r\n",
"qtconsole==4.4.2\r\n",
"Send2Trash==1.5.0\r\n",
"simplegeneric==0.8.1\r\n",
"six==1.11.0\r\n",
"terminado==0.8.1\r\n",
"testpath==0.4.2\r\n",
"tornado==5.1.1\r\n",
"traitlets==4.3.2\r\n",
"wcwidth==0.1.7\r\n",
"webencodings==0.5.1\r\n",
"widgetsnbextension==3.4.2\r\n"
]
}
],
"source": [
"!pip freeze #先列出目前安裝的套件"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"已安裝 ipython,版本是 7.0.1"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Name: ipython\r\n",
"Version: 7.0.1\r\n",
"Summary: IPython: Productive Interactive Computing\r\n",
"Home-page: https://ipython.org\r\n",
"Author: The IPython Development Team\r\n",
"Author-email: ipython-dev@python.org\r\n",
"License: BSD\r\n",
"Location: /Users/tomkao/jupyter_env/lib/python3.7/site-packages\r\n",
"Requires: setuptools, pexpect, backcall, appnope, decorator, pygments, pickleshare, traitlets, jedi, prompt-toolkit, simplegeneric\r\n",
"Required-by: jupyter-console, ipywidgets, ipykernel\r\n"
]
}
],
"source": [
"!pip show ipython #再來看看 ipython 安裝的路徑"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ipython 函式庫安裝在\n",
"/Users/tomkao/jupyter_env/lib/python3.7/site-packages"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\u001b[34mbin\u001b[m\u001b[m \u001b[34minclude\u001b[m\u001b[m pip-selfcheck.json \u001b[34mshare\u001b[m\u001b[m\r\n",
"\u001b[34metc\u001b[m\u001b[m \u001b[34mlib\u001b[m\u001b[m pyvenv.cfg\r\n"
]
}
],
"source": [
"!ls /Users/tomkao/jupyter_env #來看看函式庫上一層目錄有些什麼?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"bin 是二進位檔(執行檔)的目錄"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"activate \u001b[31mjupyter\u001b[m\u001b[m \u001b[31mjupyter-run\u001b[m\u001b[m\r\n",
"activate.csh \u001b[31mjupyter-bundlerextension\u001b[m\u001b[m \u001b[31mjupyter-serverextension\u001b[m\u001b[m\r\n",
"activate.fish \u001b[31mjupyter-console\u001b[m\u001b[m \u001b[31mjupyter-troubleshoot\u001b[m\u001b[m\r\n",
"\u001b[31measy_install\u001b[m\u001b[m \u001b[31mjupyter-kernel\u001b[m\u001b[m \u001b[31mjupyter-trust\u001b[m\u001b[m\r\n",
"\u001b[31measy_install-3.7\u001b[m\u001b[m \u001b[31mjupyter-kernelspec\u001b[m\u001b[m \u001b[31mpip\u001b[m\u001b[m\r\n",
"\u001b[31miptest\u001b[m\u001b[m \u001b[31mjupyter-migrate\u001b[m\u001b[m \u001b[31mpip3\u001b[m\u001b[m\r\n",
"\u001b[31miptest3\u001b[m\u001b[m \u001b[31mjupyter-nbconvert\u001b[m\u001b[m \u001b[31mpip3.7\u001b[m\u001b[m\r\n",
"\u001b[31mipython\u001b[m\u001b[m \u001b[31mjupyter-nbextension\u001b[m\u001b[m \u001b[31mpygmentize\u001b[m\u001b[m\r\n",
"\u001b[31mipython3\u001b[m\u001b[m \u001b[31mjupyter-notebook\u001b[m\u001b[m \u001b[35mpython\u001b[m\u001b[m\r\n",
"\u001b[31mjsonschema\u001b[m\u001b[m \u001b[31mjupyter-qtconsole\u001b[m\u001b[m \u001b[35mpython3\u001b[m\u001b[m\r\n"
]
}
],
"source": [
"!ls /Users/tomkao/jupyter_env/bin #再來看看二進位檔目錄裡有什麼?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"ipython 在 /Users/tomkao/jupyter_env/bin/ipython,所以路徑是 /Users/tomkao/jupyter_env/bin。但是要怎樣才能讓系統找到它?"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"/Users/tomkao/jupyter_env/bin:/Users/tomkao/jupyter_env/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin\r\n"
]
}
],
"source": [
"!echo $PATH #列出 PATH 的環境變數"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"PATH 環境變數裡面有 /Users/tomkao/jupyter_env/bin"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"7.0.1\r\n"
]
}
],
"source": [
"!ipython --version #直接執行 ipython 應該就會找到"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"真的可以耶,可是如果沒有要怎麼辦?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"bash 的環境變數設定,在家目錄下面的 .bash_profile。以我的例子是在 /Users/tomkao/.bash_profile,~/ 是家目錄的捷徑\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"export LC_ALL=en_US.UTF-8\r\n",
"export LANG=en_US.UTF-8\r\n",
"export PATH=/usr/local/bin:/usr/local/sbin:$PATH\r\n"
]
}
],
"source": [
"!cat ~/.bash_profile #列出環境變數設定檔"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"把二進位檔目錄加到 PATH 環境變數設定"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"export LC_ALL=en_US.UTF-8\r\n",
"export LANG=en_US.UTF-8\r\n",
"export PATH=/Users/tomkao/jupyter_env/bin:/usr/local/bin:/usr/local/sbin:$PATH\r\n"
]
}
],
"source": [
"!cat ~/.bash_profile #列出修改後的環境變數設定檔"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"這樣應該就可以了(撒花)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pro Tip: .開頭的檔案是隱藏檔,若用圖形化文字編輯器,要開啟上層目錄才看得到喔"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Pro Tip: 修改環境變數,要重新啟動終端機才會生效。或用下面指令重新載入環境變數"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"!source ~/.bash_profile #重新載入環境變數設定檔"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"因為 python 有許多不同的安裝方式,你的路徑可能會不同。要想想看路徑的邏輯,自己調整一下吧。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.0"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment