引用用pip安装的python包

时间:2014-04-16 19:37:33

标签: python virtualenv

我正在使用一个名为django-google-storage的django项目。

我使用

将软件包安装到virtualenv中
pip install django-google-storage

现在我想在我的应用程序中引用该包 -

from django-google-storage.storage import GoogleStorage

但当然我不能,因为名字中有连字符(invalid syntax)。

我之前从未遇到过这种情况 - 我可能会在软件包名称中安装带有连字符的软件包(例如pip install django-grappelli),但软件包始终保存到virtualenv中,名称中包含有效的标识符(例如' grappelli')。

我该怎么做才能让这个工作?

3 个答案:

答案 0 :(得分:2)

import importlib
themodule = importlib.import_module('django-google-storage')

但是,根据readme on github

  

它'[ sic ]只是django-storage的汇编和boto改进   你有能力使用谷歌存储。

我认为作者不打算导入此模块。

答案 1 :(得分:1)

此模块无意直接导入。它旨在覆盖django存储类。

<强>的django /型芯/ storage.py

class Storage(object):
    """
    A base storage class, providing some default behaviors that all other
    storage systems can inherit or override, as necessary.
    """

请按照these instructions进行操作:

修改您的settings.py和:

  1. 添加&#39; django-google-storage&#39;到您的INSTALLED_APPS
  2. put&#39; django-google-storage.storage.GoogleStorage&#39;在DEFAULT_FILE_STORAGE。
  3. 添加GS_ACCESS_KEY_ID,GS_SECRET_ACCESS_KEY和GS_STORAGE_BUCKET_NAME
  4. 应该是它。

答案 2 :(得分:0)

您不应导入此模块。设置&#39; django-google-storage.storage.GoogleStorage&#39;将您列为DEFAULT_FILE_STORAGE并完成