1. 程式人生 > 其它 >python3 原始碼編譯並配置jupyterhub

python3 原始碼編譯並配置jupyterhub

注意事項:需要注意的是, sqlite安裝完成之後需要進行重新編譯python, 需要注意的是,sqlite安裝完成之後需要進行重新編譯python

1.下載並原始碼編譯python3

注意事項:

#由於pip和ipython需要ssl支援: yum install openssl openssl-devel -y

此時就可以在/usr/local/python3.4/bin/下面看到編譯生成的各個可執行檔案了,不過比較好的是,python3以後就預設支援了easy_install,pip等工具了!

2.安裝ipython以及notebook等相關外掛

  • #export PATH=$PATH:/usr/local/python34/bin/
  • #pip3.4 install ipython
  • #pip3.4 install ipywidgets
  • #pip3.4 install jupyter jupyterhub

安裝完之後如果沒有問題的話應該就可以啟動 ipython notebook了,

  • #ipython3 notebook –notebook-dir=/Users/xuxuebiao/python/notebook –port=8080  預設會開啟本機自帶的瀏覽器,並繫結到本地迴環介面(127.0.0.1),其實這樣是不能夠讓網際網路上的使用者訪問的。因此需要加其他引數,比如:–ip 10.0.0.24  注意:(ipython notebook = jupyter-notebook)

3.開啟jupyter介面,並進行web化的python操作

預設會開啟這個介面,顯示當前的檔案

![Alt text](./1469463063110.png)

點選new可以選擇連結終端並且能夠開啟支援notebook的語言本文支援python3語言,其實還可以支援ruby,shell等

![Alt text](./1469463089939.png)

呼叫的terminal

![Alt text](./1469463306979.png)

注意事項:

  • 有時候安裝的python模組包和python載入的模組包路徑並不一致,這個時候可以選擇把第三方模組專門放在一個位置,並手動載入他們! import sys;print(sys.path) 先檢視python預設載入模組包的路徑也可以使用import ftplib;print(ftplib)檢視 sys.path.append(‘path’) 然後將第三方模組的路徑追加到python預設檢測路徑中  同時將此操作寫在配置檔案中:export PYTHONPATH=$PYTHONPATH:/usr/local/python/lib/
  • 在python3中,預設使用pip install是安裝不了sqlite3的,因此就需要進行額外下載並進行安裝了 import site; site.getsitepackages() 檢視當前站點的包路徑,進去lib-dynload檢視是否有_sqlite.so模組 sqlite3的編譯安裝:  進入https://sqlite.org/download.html 下載sqlite-autoconf-3080401.tar.gz (https://sqlite.org/2016/sqlite-autoconf-3140000.tar.gz) 解壓後進行編譯: ./configure --prefix=/home/user/usr/db/sqlite && make && make install

需要注意的是,sqlite安裝完成之後需要進行重新編譯python

如果編譯玩python3還是無法載入sqlite:

如果重新編譯不能發現sqlite3模組的話,需要在Python-3.4.5/setup.py 進行編輯以下檔案 455行.然後進行重新編譯python3.4

add_dir_to_list(self.compiler.include_dirs, '/usr/local/db/sqlite/lib')
add_dir_to_list(self.compiler.include_dirs, '/usr/local/db/sqlite/include')

問題集錦:

啟動報錯:OSError: [Errno 99] Cannot assig  原因:預設繫結的是本地地址127.0.0.1 使用--ip 10.0.0.24 後即可解決

https://hub.docker.com/r/jupyter/jupyterhub/ 可以用來管理多使用者使用,同時還有包含認證。

詳細操作過程