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