将jpy模块导入python

时间:2017-03-08 23:53:23

标签: python-2.7 64-bit python-import

我试图在我的系统上开始使用snappy module。这是由欧洲航天局开发的卫星图像处理模块 - 至少有两个其他python模块具有相同或相似的名称,这些模块未包含在我的库中。我按照链接中给出的说明进行了设置。但是,导入失败:

import snappy

给出:

Traceback (most recent call last):

  File "<ipython-input-10-44a854c9871f>", line 1, in <module>
    import snappy

  File "C:\Anaconda2\lib\site-packages\snappy\__init__.py", line 64, in <module>
    import jpy

ImportError: DLL load failed: %1 is not a valid Win32 application.

正如所料,&#39; import jpy&#39;给出了同样的错误。 我怀疑这与我的系统的某些部分依赖于32位寻址有关,而其他一切依赖于64位。但是,对我来说,看起来一切都是64位。

我已经尝试了所有已接受的答案StackOverflow问题,但错误无效。

我的系统:

我的shell(Spyder,IPython或JupyterQT)在启动时打印以下内容:

Python 2.7.13 |Anaconda custom (64-bit)| (default, Dec 19 2016, 13:29:36) [MSC v.1500 64 bit (AMD64)]
Type "copyright", "credits" or "license" for more information.

IPython 5.1.0 -- An enhanced Interactive Python.
?         -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help      -> Python's own help system.
object?   -> Details about 'object', use 'object??' for extra details.

我正在跑步:

  • Windows 7 Professional,64位
  • SNAP Desktop 4.0.0,64位(snappy模块所依赖的卫星图像处理应用程序)
  • 编程环境:Anaconda2 4.3.0,64位,带Python 2.7.13
  • 我删除了ArcMap附带的32位Python 2.7发行版。我无法在我的系统上找到它的痕迹,这是好的(如果是真的)。 我不确定如何检查我所拥有的snappy模块是针对32位还是64位架构编写的,但是the development website状态:
  

请注意,如果SNAP安装是32位,则必须使用32位Python,如果SNAP安装是64位,则必须使用64位Python。

这很难再现:

我按照大致相同的步骤(删除了一个32位的Python 2.7 [PythonX,Y]的Python发行版,取而代之的是Anaconda2 4.3.0,从上面给出的链接安装了snappy,等等)昨天在我的另一台机器上并import snappy完美无瑕地工作。该机器正在运行SNAP Desktop 5.0和Windows 10。

1 个答案:

答案 0 :(得分:0)

重新安装较新版本的SNAP Desktop解决了这个问题。

详细说明:

  • 我通过“控制面板”中的“程序和功能”通过常规路线卸载了SNAP 4.0.0。
  • 我从<python directory>/Lib/site-packages删除了'snappy'文件夹。
  • 我下载了SNAP 5.0.0安装程序。
  • 我运行安装程序并选择了设置SNAP for Python的选项。
  • 我通过在snappy中键入以下代码来安装cmd.exe模块,正如我之前所做的那样,并且正如问题中第一个链接所述。

    cd c:/ users / - myusername - /。snap / snap-python / snappy c:/anaconda2/python.exe setup.py install 将--myusername--替换为您的Windows用户名,请记住您的python安装可能不在c:/anaconda2

瞧,import snappy有效。如果您也遇到这个特殊问题,您可能还应检查help(snappy)是否给出了预期结果,以确保您没有安装另一个名为snappy的软件包。