[英]Python Plotly static image export (Orca) getting html error 404
[英]locate lib Orca with python
我正在嘗試將繪圖導出到 jpg 文件中。 為此,我使用這段代碼:
from plotly.offline import iplot, init_notebook_mode
import plotly.graph_objs as go
import plotly.io as pio
import plotly
import os
import numpy as np
init_notebook_mode(connected=True)
N = 100
x = np.random.rand(N)
y = np.random.rand(N)
colors = np.random.rand(N)
sz = np.random.rand(N)*30
fig = go.Figure()
fig.add_scatter(x=x,
y=y,
mode='markers',
marker={'size': sz,
'color': colors,
'opacity': 0.6,
'colorscale': 'Viridis'
});
iplot(fig)
pio.write_image(fig, 'fig1.png')
我遇到的問題是 ORCA。 可以找到該庫,但已安裝。 這是我得到的錯誤:
ValueError:需要 orca 可執行文件才能將圖形導出為靜態圖像,但在“/opt/conda/bin/orca”中找到的可執行文件似乎不是有效的 plotly orca 可執行文件。 請參閱此消息的末尾以了解有關錯誤原因的詳細信息。
如果您還沒有安裝 orca,您可以使用 conda 安裝,如下所示:
$ conda install -c plotly plotly-orca
或者,在https://github.com/plotly/orca的 orca 項目 README 中查看其他安裝方法。
安裝完成后,無需進一步配置。
如果您已經安裝了 orca,那么由於某種原因 plotly.py 無法找到它。 在這種情況下,將plotly.io.orca.config.executable
屬性設置為 orca 可執行文件的完整路徑。 例如:
>>> plotly.io.orca.config.executable = '/path/to/orca'
更新此可執行屬性后,再次嘗試導出操作。 如果成功,那么您可能希望保存此配置,以便在以后的會話中自動應用它。 您可以按如下方式執行此操作:
>>> plotly.io.orca.config.save()
如果您仍然遇到問題,請隨時在論壇上尋求幫助,網址為https://community.plot.ly/c/api/python
這是命令 $ /opt/conda/bin/orca --help 返回的錯誤
[返回代碼:127] /opt/conda/lib/orca_app/orca:加載共享庫時出錯:libXtst.so.6:無法打開共享對象文件:沒有這樣的文件或目錄
注意:在 Linux 上使用時,orca 需要 X11 顯示服務器,但沒有檢測到。 請安裝 X11,或使用 Xvfb 配置您的系統。 有關將 orca 與 Xvfb 一起使用的說明,請參閱 orca 自述文件 ( https://github.com/plotly/orca )。
任何人都知道如何解決這個錯誤?
為了讓 Orca 在我的 Django 2 項目中的 Ubuntu 18 上運行,我不得不投入大量精力。 這是我所做的,終於奏效了:
我在 Ubuntu 18.04.3 LTS 上做了這個
在下面假設您的用戶名為 USERNAME 並且您的虛擬環境目錄名為“myvenv”
wget https://github.com/plotly/orca/releases/download/v1.2.1/orca-1.2.1-x86_64.AppImage
chmod +x orca-1.2.1-x86_64.AppImage
sudo apt-get install desktop-file-utils
sudo apt-get install libgtk2.0-0 sudo apt-get install libgconf-2-4 sudo apt-get install xvfb sudo apt-get install chromium-browser
#!/bin/bash
xvfb-run -a orca-1.2.1-x86_64.AppImage "$@"
解決方案在plotly/orca
這是我所做的,它解決了我的問題:
下載orca-1.2.1-x86_64.AppImage
通過ln -s orca-1.2.1-x86_64.AppImage orca
一個軟鏈接,然后你會看到orca -> orca-1.2.1-x86_64.AppImage*
創建一個文件並將其命名為orca-executable.sh
其內容為
#!/bin/慶典
xvfb-run -a 逆戟鯨“$@”
然后將以下行添加到您的腳本中
plotly.io.orca.config.executable = '/path/to/orca/orca-executable.sh'
路徑/path/to/orca
下的文件:
rwxrwxrwx 1 root root 26 Feb 14 03:09 orca -> orca-1.2.1-x86_64.AppImage*
-rwxr-xr-x 1 root root 51607939 Feb 14 03:08 orca-1.2.1-x86_64.AppImage*
-rwxr-xr-x 1 root root 34 Feb 14 03:33 orca-executable.sh*
在 Windows 上對我有用的是:
按照https://github.com/plotly/orca#installation - 方法 4:獨立二進制文件:
C:\Users\ventafri\AppData\Local\Programs\orca\orca.exe
)。C:\Users\ventafri\AppData\Local\Programs\Python\Python36\Lib\site-packages\plotly\io
)打開_orca.py
代替:
# Try to find an executable
# -------------------------
# Search for executable name or path in config.executable
executable = which(config.executable)
path = os.environ.get("PATH", os.defpath)
formatted_path = path.replace(os.pathsep, "\n ")
和:
# Try to find an executable
# -------------------------
# Search for executable name or path in config.executable
executable = r"C:\Users\ventafri\AppData\Local\Programs\orca\orca.exe"
path = os.environ.get("PATH", os.defpath)
formatted_path = path.replace(os.pathsep, "\n ")
正如@Eudald在 Windows 中提到的,要解決您需要通過以下方式將plotly-orca
降級到 1.2.1 的問題:
conda install -c plotly plotly-orca==1.2.1
我也能夠按照 KittenCrypto 在https://stackoverflow.com/a/59893131/5650199中描述的過程讓 orca 工作,但對於那些習慣於通過 node.js 安裝 orca 的人,我想我會詳細說明替代方法:
sudo apt-get install xvfb
sudo npm install -g electron@6.1.4 orca
然后用 xvfb 啟動腳本替換節點安裝的符號鏈接/usr/local/bin/orca
sudo rm -f /usr/local/bin/orca
printf '#!/bin/bash\nxvfb-run -a /usr/local/lib/node_modules/orca/bin/orca.js "$@"' | sudo tee /usr/local/bin/orca
sudo chmod +x /usr/local/bin/orca
我在安裝了 apt python3.7 環境的 Ubuntu 18.04 服務器上執行了此操作,並通過運行測試了靜態圖像導出是否按預期工作:
import pandas as pd
import plotly.express as px
x = [0, 2, 4]
y = [0, 4, 16]
df = pd.DataFrame({'x': x, 'y': y})
fig = px.line(df, x='x', y='y')
fig.write_image('test.png')
請注意,即使您沒有運行 anaconda python 發行版,上述過程也會起作用。
我只是解決它
(蘋果系統)
運行以下命令:
sudo conda install -c plotly plotly-orca
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.