无法导入 gsutil

2024-03-21

我觉得我把一切都设置正确了。我遵循了这些指示 https://developers.google.com/storage/docs/gsutil_install#install.

并从 tar 文件安装。

我的主目录现在有一个文件夹“gsutil”。我运行了配置来为 oauth2 设置我的应用程序,并且能够从命令行调用 gsutil。为了使用 gsutil 和 Google App Engine,我将以下行添加到我的主目录中的 .bashrc 文件中并获取它:

export PATH=$PATH:$HOME/google_appengine
export PATH=${PATH}:$HOME/gsutil
export PYTHONPATH=${PYTHONPATH}:$HOME/gsutil/third_party/boto:$HOME/gsutil

但是,当我尝试通过以下任一方式导入 python 脚本时:

import gsutil

或者类似的东西this https://developers.google.com/storage/docs/gsutil_install#boto(直接来自文档)。

from gslib.third_party.oauth2_plugin import oauth2_plugin

我收到如下错误:

ImportError: No module named gslib.third_party.oauth2_plugin

我是否在某个地方错过了一步?谢谢

EDIT:

这是 (','.join(sys.path)) 的输出:

import sys; print(', '.join(sys.path))

,/usr/local/lib/python2.7/dist-packages/setuptools-1.4.1-py2.7.egg,/usr/local/lib/python2.7/dist-packages/pip-1.4.1-py2 .7.egg,/usr/local/lib/python2.7/dist-packages/gsutil-3.40-py2.7.egg,/home/[我的名字],/home/[我的名字]/gsutil/third_party/boto, /home/[myname]/gsutil、/usr/lib/python2.7、/usr/lib/python2.7/plat-linux2、/usr/lib/python2.7/lib-tk、/usr/lib/python2 .7/lib-old、/usr/lib/python2.7/lib-dynload、/usr/local/lib/python2.7/dist-packages、/usr/lib/python2.7/dist-packages、/usr /lib/python2.7/dist-packages/PIL,/usr/lib/python2.7/dist-packages/gst-0.10,/usr/lib/python2.7/dist-packages/gtk-2.0,/usr/ lib/python2.7/dist-packages/ubuntu-sso-client、/usr/lib/python2.7/dist-packages/ubuntuone-client、/usr/lib/python2.7/dist-packages/ubuntuone-control-面板,/usr/lib/python2.7/dist-packages/ubuntuone-couch,/usr/lib/python2.7/dist-packages/ubuntuone-installer,/usr/lib/python2.7/dist-packages/ubuntuone -存储协议

EDIT 2:

我可以从命令行导入模块,但不能从我的 Google App Engine 应用程序导入模块。 这是使用 python -v 输出的第一行

导入 gsutil

/home/adrian/gsutil/gsutil.pyc matches /home/adrian/gsutil/gsutil.py

但是当我尝试从应用程序导入它时,我收到以下消息:

import gsutil
ImportError: No module named gsutil

gsutil 只能从命令行使用。如果您想从 appengine 应用程序内与云存储进行交互,您应该使用云存储客户端库:https://developers.google.com/appengine/docs/java/googlecloudstorageclient/ https://developers.google.com/appengine/docs/java/googlecloudstorageclient/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无法导入 gsutil 的相关文章

  • 为什么 .setGeometry() 不改变 QWidget 实例的大小?

    我想使用 QWidget 更改 QPushButton 的大小 setGeometry https doc qt io qtforpython 5 PySide2 QtWidgets QWidget html PySide2 QtWidge
  • 在Python3.6中调用C#代码

    由于完全不了解 C 编码 我希望在我的 python 代码中调用 C 函数 我知道有很多关于同一问题的问答 但由于一些奇怪的原因 我无法从示例 python 模块导入简单的 c 类库 以下是我所做的事情 C 类库设置 我使用的是 VS 20
  • 如何确定非阻塞套接字是否真正连接?

    这个问题不仅限于Python 这是一个一般的套接字问题 我有一个非阻塞套接字 想要连接到一台可访问的机器 在另一端 该端口不存在 为什么 select 仍然成功 我预计会超时 sock send 因管道损坏而失败 select 之后如何确定
  • 从字符串到类型的词法转换

    最近 我尝试用Python存储和读取文件中的信息 遇到了一个小问题 我想从文本文件中读取类型信息 从 string 到 int 或 float 的类型转换非常有效 但从 string 到 type 的类型转换似乎是另一个问题 当然 我尝试了
  • PIL Image.size 返回相反的宽度/高度

    使用PIL确定图像的宽度和高度 在特定图像上 幸运的是只有这一个 但这很麻烦 从 image size 返回的宽度 高度是相反的 图片 http storage googleapis com cookila 533ebf752b9d1f7c
  • Pandas重置索引未生效[重复]

    这个问题在这里已经有答案了 我不确定我在哪里误入歧途 但我似乎无法重置数据帧上的索引 当我跑步时test head 我得到以下输出 正如您所看到的 数据帧是一个切片 因此索引超出范围 我想做的是重置该数据帧的索引 所以我跑test rese
  • 带图像的简单 GUI [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我试图在简单的 GUI 上显示一些卡
  • 如果字段值在外部列表中,Django 会注释布尔值

    想象一下我有这个 Django 模型 class Letter models Model name models CharField max length 1 unique True 还有这个列表 vowels a e i o u 我想查询
  • “char”/“character”类型的类型提示

    char 或 character 没有内置的原始类型 因此显然必须使用长度为 1 的字符串 但是为了暗示这一点并暗示它应该被视为一个字符 如何通过类型提示来实现这一点 grade chr A 一种方法可能是使用内置的 chr 函数来表示这一
  • Python Kivy - 在本机网络浏览器中打开 url 的应用程序

    我尝试制作一个简单的应用程序 在单击 Screen One 上的按钮后 在 Kivy 中打开一个网页 我使用了这个主题 Python 在应用程序中直接显示网络浏览器 iframe https stackoverflow com questi
  • 获取列表中倒数第二个元素[重复]

    这个问题在这里已经有答案了 我可以通过以下方式获取列表的倒数第二个元素 gt gt gt lst a b c d e f gt gt gt print lst len lst 2 e 有没有比使用更好的方法print lst len lst
  • 如何使用Python的super()来更新父值?

    我对继承很陌生 之前所有关于继承和 Python 的 super 函数的讨论都有点超出我的理解 我当前使用以下代码来更新父对象的值 usr bin env python test py class Master object mydata
  • Django 在选择列表更改时创建毫无意义的迁移

    我正在尝试使用可调用创建一个带有选择字段的模型 以便 Django 在选择列表更改时不会创建迁移 如中所述this https stackoverflow com questions 31788450 stop django from cr
  • 将一个列表的元素除以另一个列表的元素

    我有两个清单 比如说 a 10 20 30 40 50 60 b 30 70 110 正如你所看到的 列表 b 由一个列表的元素总和组成 其中 window 2 b 0 a 0 a 1 10 20 30 etc 如何获得另一个列表 该列表由
  • Airflow Python 单元测试?

    我想为我们的 DAG 添加一些单元测试 但找不到任何单元测试 有 DAG 单元测试框架吗 有一个端到端的测试框架存在 但我猜它已经死了 https issues apache org jira browse AIRFLOW 79 https
  • 为什么实现 __iter__ 的对象不被识别为可迭代的?

    假设您使用包装对象 class IterOrNotIter def init self self f open tmp toto txt def getattr self item try return self getattribute
  • Python组合目录中的所有csv文件并按日期时间排序

    我有 2 年的每日数据分成每月文件 我想将所有这些数据合并到一个按日期和时间排序的文件中 我正在使用的代码组合了所有文件 但不按顺序 我正在使用的代码 import pandas as pd import glob os import cs
  • 如何禁止 celery 中的 pickle 序列化

    Celery 默认使用 pickle 作为任务的序列化方法 如中所述FAQ http ask github com celery faq html isn t using pickle a security concern 这代表一个安全漏
  • 在 Python 模块中使用 InstaLoader

    我正在尝试使用 Instaloader 下载与主题标签相关的照片以进行图像分析 我在GitHub存储库中找到了一个全面的方法 如何在终端中执行它 但是 我需要将脚本集成到Python笔记本中 这是脚本 instaloader no vide
  • Django South - 将 null=True 字段转换为 null=False 字段

    我的问题是 转变的最佳做法是什么null True场变成null False使用 Django South 的字段 具体来说 我正在与ForeignKey 你应该先写一个数据迁移 http south aeracode org docs t

随机推荐

  • 在Android中查找包含View的Window

    我找不到获得参考的方法Window包含任意Viewv 我发现获取窗口令牌 http developer android com reference android view View html getWindowToken 但我不知道如何使
  • Android BottomNavigationView 与闪屏返回堆栈问题

    所以我设置了我的BottomNavigationView like here https youtu be Covu3fPA1nQ 使用导航组件库 一切正常 每个选项卡都可以保留其后堆栈 但是 如果我添加一个启动屏幕 Fragment an
  • 如何管理应用程序工厂模式中的额外模块?

    我正在使用带有应用程序工厂模式的烧瓶 我确实知道应用程序工厂模式仅在工厂函数中管理配置对象 如下面的代码所示 def create app config app config from object config sentry init a
  • 无法在 Desktop 中为 Compose 设计 UI 布局

    我正在为基于的应用程序开发 UI 布局为桌面撰写 https www jetbrains com lp compose mpp 它由几个复选框组成 但里面没有任何功能为桌面撰写 https github com JetBrains comp
  • JavaScript:使用递归检查数字是否为素数

    我对如何解决这个问题有点困惑 我需要所有素数才能返回 true 如果不返回 false 我看到我的逻辑包括 2 并且返回 0 所以它自动返回 false 因为 2 余数为 0 function isPrime num div 2 BASE
  • 如何在 Azure DevOps 中创建面板?

    我遇到了这个问题并解决了它 所以这里有这个问答 以防万一其他人花时间筛选 Microsoft 文档试图找到这个答案 如何在 Azure DevOps 中创建新板 当我转到 板 gt 板 并查看现有板时 没有像板列表下拉列表中的存储库那样可以
  • MS Access 对具有多个联接的链接表的查询非常慢

    我有一个 MySQL 数据库和一个 MS Access 前端 MySQL 数据库表通过 ODBC 连接链接到 MS Access 如果 WHERE 或 HAVING 子句中有任何内容 任何具有多个连接表的查询都会运行得非常慢 例如 SELE
  • Apple Watch 设置背景图片

    如何以编程方式设置 WatchKit 应用程序背景图像 我需要在代码中设置它 因为它会根据变量大小而变化 并且我们需要在图像上放置标签 这是不可能的以编程方式将背景图像设置在整个手表应用页面在 WatchKit 中 整个页面的背景图像当前只
  • 在 Markdown 中更改美人鱼主题

    除了代码之外 我在 Markdown 文档中使用 mermaid 进行基本图表渲染 我发现这个在线编辑器 https mermaidjs github io mermaid live editor 在预览时对其进行编辑很有用 这建议更改主题
  • 计算java中两个日期之间的月份[重复]

    这个问题在这里已经有答案了 我需要计算两个日期之间的月份 如果 startDate 2013 01 01 endDate 2013 01 31 答案应该是 1 startDate 2013 01 01 endDate 2013 02 01
  • Rails:虚拟属性和表单值

    我有一本带有虚拟属性的模型书 用于从书籍表单创建编辑器 代码如下 class Book lt ActiveRecord Base has many book under tags has many tags through gt book
  • 如何使用 JDBC 连接 XAMPP MySQL 本地数据库?

    我有一个用Java编写的俄罗斯方块游戏 它使用DB来记录高分 只要我使用远程 MySQL DB 它就可以正常工作 但现在我尝试使用 XAMPP MySQL 设置本地主机 DB 并且在命令中它一直像 SQLException 通信链接失败 一
  • 我可以使用 JavaScript/JQuery 将上传的文件添加到 ASP.NET 中的 Request.Files 中吗?

    我不完全确定如何使用 JavaScript 将文件添加到 Request Files 中 这就是我要去的 var x input type file eq 0 Add the data to the hidden field hiddenF
  • 指定 nodeSize 时 d3 树的居中发生变化

    我为此使用 d3 v4 当我有 var treemap d3 tree size height width 这棵树很好地居中 但是 因为我想指定节点之间的垂直间距 当我将其更改为 var treemap d3 tree size heigh
  • 适合程序员的 TCP/IP 网络书籍? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • React useEffect 钩子有条件地加载 onsnapshot

    我正在尝试执行以下操作 但似乎无法获得最合适的解决方案 在我的 React 应用程序 应用程序组件 的顶层 我正在加载 firebase 和 firestore 我有一个反应上下文 其中存储了我的身份验证信息 身份验证上下文不会立即加载 而
  • 在 Flexbox 中从纵向布局切换到横向布局

    我想实现以下Layout https i stack imgur com tOpuX png与弹性盒 您可以在图片中看到两个方向 左侧为纵向视图 右侧为横向视图 前提是我想让我的html尽可能短 如果可能的话 有没有办法用 Flex 来做到
  • 将 Outlook 邮件正文另存为 PDF

    我正在使用 Outlook 和 C 我的学校练习是在不使用额外软件的情况下将电子邮件正文转换为 pdf 就我而言 我想保留电子邮件文本格式 以便解决我的问题 我考虑将电子邮件正文转换为 RTF 文件 然后使用 C 使用 Word 应用程序打
  • Carbon createFromFormat 意外结果

    createFromFormat 结果提前一个月 var dump GET archive var dump Carbon createFromFormat m Y GET archive Result string 11 2015 len
  • 无法导入 gsutil

    我觉得我把一切都设置正确了 我遵循了这些指示 https developers google com storage docs gsutil install install 并从 tar 文件安装 我的主目录现在有一个文件夹 gsutil