顯示具有 python 標籤的文章。 顯示所有文章
顯示具有 python 標籤的文章。 顯示所有文章

在 Fedora 31 下讓 Python 多版本共存的方法

在 Fedora 31 下每個版本的 Python 有各自獨立的套件名稱,可以簡單的直接透過套件管理工具 dnf 來簡易安裝各版本的 Python。
  1. 安裝 Python 3.7 可用以下指令
$ sudo dnf install python-unversioned-command

  1. 安裝 Python 3.6 可用以下指令
$ sudo dnf install python36

  1. 安裝 Python 2.6 
$ sudo dnf install python26

  1. 安裝 Python 3.9
$ sudo dnf install python39


各別的執行指令可以透過 rpm 的指令確認每個 package 在 /usr/bin/ 安裝的執行檔分別是什麼
$ rpm -ql python-unversioned-command
or
$ rpm -ql python36

透過 virtualenv 來造出所需要的執行環境,若需要 python 3.7 的執行環境則
$ virutalenv -p python [目錄名]
$ cd [目錄名]
$ source bin/activate

其他版本的執行環境,先用 RPM 找到執行檔後再利用 virtualenv 就可以造成那個版本下的執行環境
$ virutalenv -p [執行檔名] [目錄名]
$ cd [目錄名]
$ source bin/activate



將每個執行環境區分開來,可以確保每個環境不互相干擾的使用各自的 Library 哦即使是同一個版本下,也可以為每個 Project 造一個獨立的環境,每以讓每個 Project 的執行環境只安裝其必要的套件而不互相干擾,但缺點就是佔用的空間有點大就是了。

Fedora 31 下安裝 fbprophet

Fedora 31
Python 3.7
一、在安裝 fbprophet 時,若遇到​ gcc 的錯誤,可以試試把
環境中的編譯套件裝好。
$ sudo dnf install 'C Development Tools and Libraries'

二、然後把 python3-devel 的套件也裝上,然後再裝一次。若還是不行把 python3-sip-devel 也裝上然後再試一次。
$ sudo dnf python3-sip-devel

三、使用 pip 安裝 fbprophet
$ pip install fbprophet




在 Fedora 31 環境下安裝 TA-Lib

環境: Fedora 31 Linux
Python Version: 3.7

一、先將環境下可能需要的編譯套件裝好
$ sudo dnf install 'C Development Tools and Libraries'


二、在 Fedora 環境下可以先到以下網址下載 ta-lib-0.4.0-1.i386.rpm 使用 dnf 裝起來後。​
再執行 pip install ta-lib

三、如果在第二步的 dnf 安裝時出現檔案衝突的錯誤訊息,就採用原始碼安裝的方式。
若仍不行,就下載 ta-lib-0.4.0-src.tar.gz ,
$ tar -zxvf ta-lib-0.4.0-src.tar.gz
$ cd ta-lib
$ ./configure --prefix=/usr
$ make
$ make install
$ pip install Ta-Lib

四、裝好後,如果執行仍會看到找不到 libta_lib.so.0 的問題,有可能是讀取 library 的路徑問題
importError: libta_lib.so.0: cannot open shared object file: No such file or directory

可以檢查 /usr/lib 目錄下是否有以下兩隻檔案而 /usr/lib64 目錄下卻沒有
  • libta_lib.so.0
  • libta_lib.so.0.0.0
可以在 /usr/lib64 目錄下建立連結到 /usr/lib 中
$ sudo ln -s /usr/lib/libta_lib.so.0 /usr/lib64/libta_lib.so.0
$ sudo ln -s /usr/lib/libta_lib.so.0.0.0 /usr/lib64/libta_lib.so.0.0.0

建立完成後, 再試一次. 

Python 3 在 Fedora 29 下無法執行

從 Feodra 28 升級到 Fedora 29 後,突然發現我原先在用的 Python 3.6 居然無法執行。在執行原先的專案時會出現以下的錯誤訊息。

error while loading shared libraries: libpython3.6m.so.1.0: cannot open shared object file: No such file or directory

這是缺少執行所需 Library 的訊息呀,所以試著把 pyton 36 再裝一次,看看是不是真的有缺漏。可以使用以下指令進行安裝。

$ sudo dnf install python36

安裝完後再試著執行看看,應該就可以排除這一個錯誤訊息了。

Docker SIGILL: illegal instruction 問題除錯記錄

Docker SIGILL: illegal instruction 問題除錯記錄 最近在一台平常執行得好好的伺服器上,遇到一個讓人頭痛的 Docker 問題。 原本 Portainer 和其他容器都可以正常運行,但在系統突然當機後,所有容器在啟動時都出現以下錯誤訊息: d...