无法在 Replit.com 上导入 Pandas - Python
Unable to import Pandas on Replit.com - Python
我无法在重新启动时导入 pandas 和 import pandas as pd
。
我已经安装了带有 pip install pandas
的包,它可以在包中看到。我已经成功地将它导入到 replit 的其他项目中。每次我尝试将它导入到该项目的代码中时,都会出现以下错误:
Traceback (most recent call last):
File "main.py", line 1, in <module>
import pandas as pd
File "/home/runner/thing/venv/lib/python3.8/site-packages/pandas/__init__.py", line 16, in <module>
raise ImportError(
ImportError: Unable to import required dependencies:
numpy:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
* The Python version is: Python3.8 from "/home/runner/thing/venv/bin/python"
* The NumPy version is: "1.22.2"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: libz.so.1: cannot open shared object file: No such file or directory
您不需要使用 pip
在 repl.it 上安装软件包 -- 事实上,您 不应该 !使用 Nix 派生不仅效果更好(因为您按照设计方式使用他们的 OS 发行版),而且通过允许从 read-only、hash-addressed, 共享商店.
为其他发行版构建的二进制文件可能假设 /lib
、/usr/lib
等中会有库,但这不是 NixOS 的工作方式:库将在像 /nix/store/<hash>-<packagename>-<version>/lib
这样的路径,这些路径会嵌入到使用这些库的可执行文件中。
这里最简单的事情是创建一个新的 bash repl,但要向其中添加一个 Python 解释器。 (我建议这样做而不是使用 Python repl,因为他们设置 Python REPL 的方式增加了一堆需要重新配置的额外工具;bash repl 使它变得简单).
- 创建一个新的 bash 回复
- 单击 three-dots 菜单。
- Select“显示隐藏文件”。
- 打开名为
replit.nix
的文件
- 编辑文件,添加Python解释器和pandas,如下:
{ pkgs }: {
deps = [
pkgs.bashInteractive
(pkgs.python38.withPackages (p: [p.pandas]))
];
}
...将其更改为口味(例如,只要他们从具有 Python 3.9 或 3.10 二进制文件的渠道获取软件,您就可以将 python38
更改为 python39
或python310
).
- 单击“运行”按钮
- 在打开的新 shell 中,运行
python
,看看你可以 import pandas
没有问题。
如果在将 Python 文件添加到 repl 后,您还可以更改 .replit
隐藏文件,使其 运行 在启动时自动成为该文件。请注意,在 NixOS 上,您应该使用 #!/usr/bin/env python
作为您的 shebang,因为 PATH 查找是必不可少的。
我无法在重新启动时导入 pandas 和 import pandas as pd
。
我已经安装了带有 pip install pandas
的包,它可以在包中看到。我已经成功地将它导入到 replit 的其他项目中。每次我尝试将它导入到该项目的代码中时,都会出现以下错误:
Traceback (most recent call last):
File "main.py", line 1, in <module>
import pandas as pd
File "/home/runner/thing/venv/lib/python3.8/site-packages/pandas/__init__.py", line 16, in <module>
raise ImportError(
ImportError: Unable to import required dependencies:
numpy:
IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE!
Importing the numpy C-extensions failed. This error can happen for
many reasons, often due to issues with your setup or how NumPy was
installed.
We have compiled some common reasons and troubleshooting tips at:
https://numpy.org/devdocs/user/troubleshooting-importerror.html
Please note and check the following:
* The Python version is: Python3.8 from "/home/runner/thing/venv/bin/python"
* The NumPy version is: "1.22.2"
and make sure that they are the versions you expect.
Please carefully study the documentation linked above for further help.
Original error was: libz.so.1: cannot open shared object file: No such file or directory
您不需要使用 pip
在 repl.it 上安装软件包 -- 事实上,您 不应该 !使用 Nix 派生不仅效果更好(因为您按照设计方式使用他们的 OS 发行版),而且通过允许从 read-only、hash-addressed, 共享商店.
为其他发行版构建的二进制文件可能假设 /lib
、/usr/lib
等中会有库,但这不是 NixOS 的工作方式:库将在像 /nix/store/<hash>-<packagename>-<version>/lib
这样的路径,这些路径会嵌入到使用这些库的可执行文件中。
这里最简单的事情是创建一个新的 bash repl,但要向其中添加一个 Python 解释器。 (我建议这样做而不是使用 Python repl,因为他们设置 Python REPL 的方式增加了一堆需要重新配置的额外工具;bash repl 使它变得简单).
- 创建一个新的 bash 回复
- 单击 three-dots 菜单。
- Select“显示隐藏文件”。
- 打开名为
replit.nix
的文件
- 编辑文件,添加Python解释器和pandas,如下:
...将其更改为口味(例如,只要他们从具有 Python 3.9 或 3.10 二进制文件的渠道获取软件,您就可以将{ pkgs }: { deps = [ pkgs.bashInteractive (pkgs.python38.withPackages (p: [p.pandas])) ]; }
python38
更改为python39
或python310
). - 单击“运行”按钮
- 在打开的新 shell 中,运行
python
,看看你可以import pandas
没有问题。
如果在将 Python 文件添加到 repl 后,您还可以更改 .replit
隐藏文件,使其 运行 在启动时自动成为该文件。请注意,在 NixOS 上,您应该使用 #!/usr/bin/env python
作为您的 shebang,因为 PATH 查找是必不可少的。