脚本可在Jupyter笔记本中使用,无法从命令行或Atom IDE中使用

问题描述 投票:0回答:1

我通过Anaconda安装了python,并希望将相当大的数据帧序列化为磁盘文件。这在Jupyter笔记本电脑上运行良好,但从Atom IDE或命令提示符下运行时失败(即python script_name.py)

import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6]}, index=['a', 'b', 'c'])
df.to_hdf('data.h5', key='df', mode='w')
pd.read_hdf('data.h5')

这里是错误:

 line 3, in <module>
    df.to_hdf('data.h5', key='df', mode='w')
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\core\generic.py", line 2530, in to_hdf
    pytables.to_hdf(path_or_buf, key, self, **kwargs)
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\pytables.py", line 276, in to_hdf
    path_or_buf, mode=mode, complevel=complevel, complib=complib
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\io\pytables.py", line 484, in __init__
    tables = import_optional_dependency("tables")
  File "C:\ProgramData\Anaconda3\lib\site-packages\pandas\compat\_optional.py", line 93, in import_optional_dependency
    raise ImportError(message.format(name=name, extra=extra)) from None
ImportError: Missing optional dependency 'tables'.  Use pip or conda to install tables.

我将hdf5.dll路径添加到环境变量列表中,但是没有运气。 pip和conda都告诉我,我有一个hdf5和表格版本,所以我不明白这段代码如何在Jupyter笔记本中运行,但不能在笔记本外部运行。顺便说一句,我与matplotlib和其他一些程序包存在类似的问题,这些程序包在Jupyter笔记本中运行时没有错误,但抛出了找不到的程序包,从命令行运行时dll丢失了错误。谁能帮忙吗?谢谢!

我的路径看起来像:

c:\users\UserID\appdata\roaming\python\python37\site-packages;
C:\ProgramData\Anaconda3\pkgs\m2w64-openssl-1.0.2.g-2\Library\mingw-w64\bin;
C:\ProgramData\Anaconda3\pkgs\pytables-3.6.1-py37h1da0976_0\Lib\site-packages\tables\;
C:\ProgramData\Anaconda3\Lib\site-packages\tables;
C:\ProgramData\Anaconda3;C:\ProgramData\Anaconda3\Scripts;
C:\ProgramData\Anaconda3\Library\usr\bin;
C:\Users\UserID\AppData\Local\atom;
C:\ProgramData\Anaconda3\Library\mingw-w64\bin;
C:\Program Files (x86)\ActiveState Komodo Edit 11\;
C:\ProgramData\Anaconda3\envs\pudl;
C:\Users\UserID\AppData\Roaming\Python\Python37\Scripts;
C:\WINDOWS\system32;
C:\WINDOWS;
C:\WINDOWS\System32\Wbem;
......
C:\Users\UserID\AppData\Local\atom\bin

OS:赢10Python版本:3.7

python jupyter hdf5
1个回答
0
投票

您可能需要激活Jupyter内核所在的环境,因为它将代表您获取必要的依赖关系。

假设您已经使用conda create -n my_conda_env创建了一个环境,则还必须使用conda activate -n my_conda_env激活它,然后您的cmd提示符将以环境名称为前缀。

如果您不在环境中运行-我会真的推荐它-因为它可以避免某些依赖性问题。

© www.soinside.com 2019 - 2024. All rights reserved.