在PyCharm Google App Engine项目中导入psutil时出错

时间:2017-10-19 18:28:13

标签: python google-app-engine pycharm psutil

我最近在Pycharm内的GAE标准项目中从google.cloud.pubsub_v1调用的types.py中遇到了psutils的导入错误。我搞砸了一天试图找到它,但没有去。 python中的psutil导入是从终端和控制台以及vanilla python项目运行的,而不是来自GAE项目。为了加倍对此我做了两个基本测试,如下所示:两者都使用相同的virtualenv ......

标准香草Python项目:

main.py包含

import psutil

def x():
    print "hello world"

if __name__ == "__main__":
    x()

Google App Engine项目 - main.py包含

import webapp2
import psutil

class MainHandler(webapp2.RequestHandler):
    def get(self):
        self.response.write('Hello world!')

app = webapp2.WSGIApplication([
    ('/', MainHandler)
], debug=True)

vanilla python项目中的导入工作正常,但GAE应用程序中的导入返回回溯:

Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 240, in Handle
    handler = _config_handle.add_wsgi_middleware(self._LoadHandler())
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 299, in _LoadHandler
    handler, path, err = LoadObject(self._handler)
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/runtime/wsgi.py", line 85, in LoadObject
    obj = __import__(path[0])
  File "/Users/chez 1/google-app-engine-projects/untitled/main.py", line 18, in <module>
    import psutil
ImportError: No module named psutil

是否有人遇到类似问题并找到了解决办法?

2 个答案:

答案 0 :(得分:0)

您可能已在本地系统上安装了cudnn_conv_layer.cu:28] Check failed: status == CUDNN_STATUS_SUCCESS (8 vs. 0) CUDNN_STATUS_EXECUTION_FAILED软件包(因此在终端/控制台中工作),但未在您的应用中安装(即安装在应用的psutil目录中)<标准环境应用程序的强>必需(SDK模拟真正的GAE,无论安装到本地python安装中的是什么都没有意义)。来自Installing a third-party library

  
      
  1. 创建一个目录来存储您的第三方库,例如lib

    lib/
  2.   
  3. 使用带有mkdir lib 标志的pip(版本6或更高版本)将库复制到您之前创建的文件夹中   步。例如:

    -t <directory>
  4.   

只需将pip install -t lib/ <library_name> 包中的供应商添加到您的应用中。

答案 1 :(得分:0)

根据我的经验,此错误和类似的“ 没有名为... 的模块”错误是由错误定义的python解释器引起的。请参见以下网址的答案:ImportError: No module named 'bottle' - PyCharm