1

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

我已经在我的系统上安装了 Python 2.7 的 psutil-2.1.1,到目前为止我对 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这里包含了差异

  1. sys.pathweb2py

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在这里工作。

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

4

0 回答 0