pip安装GoogleAppEngineCloudStorageClient时具体是什么<your_app_directory>?</your_app_directory>

时间:2015-01-06 23:31:17

标签: python macos pip google-cloud-storage

按照安装说明here,具体是<your_app_directory>中的内容:

pip install GoogleAppEngineCloudStorageClient -t <your_app_directory/lib>

我试过了:

  1. / Applications文件夹
  2. 托管我在GAE上运行的.py文件的主文件夹
  3. 与venv子文件夹下的(2)相同
  4. 但是我得到了:

    ImportError:没有名为cloudstorage的模块

    如果我尝试:

    import cloudstorage as gcd
    

    ImportError:没有名为lib.cloudstorage的模块

    如果我尝试:

    import lib.cloudstorage as gcd
    

    以上所有。

    E.g。

    >>> os.listdir("/applications/lib") 
    ['cloudstorage', 'GoogleAppEngineCloudStorageClient-1.9.15.0-py2.7.egg-info']
    >>> import lib.cloudstorage 
    Traceback (most recent call last):   
    File "<stdin>", line 1, in <module> ImportError: No module named lib.cloudstorage
    >>>
    

2 个答案:

答案 0 :(得分:1)

<your_app_directory>是包含app.yaml文件的文件夹的路径。

您的YAML文件指定包含GAE handlers的脚本文件。此脚本文件,YAML文件和依赖项需要打包到upload的文件夹中。

我使用这个文件夹结构:

  • 应用程序/
    • app.yaml Note: script attribute will point to src.main.application
    • 的src /
      • __init__.py
      • main.py Contains a variable called application
    • mypackage的/
      • __init__.py
      • supermodule.py
      • othermodule.py
    • LIB /
      • 云端储存/
      • otherlib /
      • 等/

为了帮助python在子文件夹中查找模块,例如使用import cloudstorage as gcs,以下代码在main.py文件中很有用:

import os
import sys
#sys.path.append(os.path.join(os.path.dirname(__file__), "lib"))
sys.path.append(os.path.join(os.path.join(os.path.dirname(__file__), ".."), "lib"))  # relative to main.py

答案 1 :(得分:0)

我不确定这是不是最后做了什么,但在做完之后我不再收到导入错误:

sys.path.append('/applications/lib')