簡體   English   中英

用python定位lib Orca

[英]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”

  1. 將 Orca AppImage 文件獲取到 /home/USERNAME/myvenv/bin 並更改文件的權限

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

  1. 安裝以下軟件包

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

  1. 在 /home/USERNAME/myvenv/bin/ 中創建一個名為orca的文件,內容如下:

#!/bin/bash

xvfb-run -a orca-1.2.1-x86_64.AppImage "$@"

解決方案在plotly/orca

這是我所做的,它解決了我的問題:

  1. 下載orca-1.2.1-x86_64.AppImage

  2. 通過ln -s orca-1.2.1-x86_64.AppImage orca一個軟鏈接,然后你會看到orca -> orca-1.2.1-x86_64.AppImage*

  3. 創建一個文件並將其命名為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:獨立二進制文件:

    • https://github.com/plotly/orca/releases下載 windows-release.zip
    • 安裝可執行文件
    • 右鍵單擊桌面上新創建的 Orca 圖標以獲取安裝應用程序的路徑(在我的例子中是C:\Users\ventafri\AppData\Local\Programs\orca\orca.exe )。
    • 從 plotly\io 文件夾(在我的例子中是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM