将psutil导入web2py:“ImportError:DLL加载失败:%1不是有效的Win32应用程序”

时间:2014-10-08 09:09:53

标签: python python-2.7 web2py psutil

我正在使用web2py开发一个Web应用程序。在我的Python代码中,我必须使用psutil来计算磁盘大小,正在使用的RAM,可用RAM和相关信息。

我在我的系统上安装了psutil-2.1.1 for Python 2.7,到目前为止我对psutil没有任何问题。 但是当我将psutil导入我的web2py应用程序时,我得到一个导入错误,如下所示:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\psutil\__init__.py", line 53, in <module>
    from psutil._common import memoize
  File "C:\Python27\lib\site-packages\psutil\_common.py", line 12, in <module>
    import socket
  File "C:\Python27\lib\socket.py", line 47, in <module>
    import _socket
 ImportError: DLL load failed: %1 is not a valid Win32 application.

我理解这个错误意味着我试图将一个32位的东西导入64位 - 或者反之亦然。独立于web2py,psutil工作正常。我也尝试在虚拟环境中运行相同的程序,它也会出现同样的错误。据我所知,web2py没有针对32位和64位的明确单独安装程序,所以我不明白问题所在。

您可以在下面找到我必须使用psutil的代码:

#all necessary imports
import psutil

def summ_handler():
    #...
    disk_size = float (psutil.disk_usage(curr_dir).total)/(1024**3)
    print ("System Space                     : %sGB " %disk_size)

    #...
    ram_total = float(psutil.phymem_usage().total)/(1024**3)
    ram_free  = float(psutil.phymem_usage().free)/(1024**3)
    ram_used = ram_total - ram_free
    #printing

    #...

编辑: 我在sys.path这里

中包含了差异
    来自sys.path
  1. web2py

    C:\Python27\web2py\site-packages C:\Python27\web2py C:\Python27\web2py\gluon C:\Python27\lib\site-packages\setuptools-5.4.1-py2.7.egg C:\Python27\lib\site-packages\distribute-0.6.49-py2.7.egg C:\Python27\web2py\library.zip C:\Python27 C:\Python27\lib\site-packages C:\Python27\lib\site-packages\win32 C:\Python27\lib\site-packages\win32\lib C:\Python27\lib\site-packages\Pythonwin C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg-info C:\Python27\web2py\gluon

    1. sys.path表示普通脚本。 psutil在这里工作。
    2. C:\Python27\lib\site-packages\setuptools-5.4.1-py2.7.egg C:\Python27\lib\site-packages\distribute-0.6.49-py2.7.egg C:\windows\system32\python27.zip C:\Python27\DLLs C:\Python27\lib C:\Python27\lib\plat-win C:\Python27\lib\lib-tk C:\Python27 C:\Python27\lib\site-packages C:\Python27\lib\site-packages\win32 C:\Python27\lib\site-packages\win32\lib C:\Python27\lib\site-packages\Pythonwin C:\Python27\lib\site-packages\setuptools-0.6c11-py2.7.egg-info

0 个答案:

没有答案