Python 3.x 导入错误:没有名为';boto';,但我已经安装好了

Python 3.x 导入错误:没有名为';boto';,但我已经安装好了,python-3.x,boto,gcloud,Python 3.x,Boto,Gcloud,我正在mi gcloud Bucket中设置一个新功能,允许我使用一个名为“boto”的python库上载或下载文件,但出现了以下错误 我正在使用linux、visual studio代码、python 3.7、gsutil和boto的最新版本 import os import boto import gcs_oauth2_boto_plugin import shutil import io import tempfile import time import sys # Activat

我正在mi gcloud Bucket中设置一个新功能,允许我使用一个名为“boto”的python库上载或下载文件,但出现了以下错误

我正在使用linux、visual studio代码、python 3.7、gsutil和boto的最新版本

import os
import boto
import gcs_oauth2_boto_plugin
import shutil
import io
import tempfile
import time
import sys



# Activate virtual environment
activate_this = os.path.join(VENV + 'bin/activate_this.py')
exec(open(activate_this, dict(__file__=activate_this)))


# Check arguments
if len(sys.argv) < 2:
  print ("Usage: " + sys.argv[0] + ' FILENAME')
  quit()

filename = sys.argv[1]

# URI scheme for Cloud Storage.
GOOGLE_STORAGE = "gs"
# URI scheme for accessing local files.
LOCAL_FILE = "file"

header_values = {"x-goog-project-id": PROJECT_ID}

# Open local file
with open(filename, 'r') as localfile:

  dst_uri = boto.storage_uri(BUCKET + '/' + filename, GOOGLE_STORAGE)
  # The key-related functions are a consequence of boto's
  # interoperability with Amazon S3 (which employs the
  # concept of a key mapping to localfile).
  dst_uri.new_key().set_contents_from_file(localfile)

print ('Successfully created "%s/%s"' % (dst_uri.bucket_name, dst_uri.object_name))
导入操作系统
进口波托
导入gcs_oauth2_boto_插件
进口舒蒂尔
输入io
导入临时文件
导入时间
导入系统
#激活虚拟环境
激活\u this=os.path.join(VENV+'bin/activate\u this.py')
exec(打开(激活此,dict(\uuuuuu文件=激活此)))
#检查参数
如果len(系统argv)<2:
打印(“用法:”+sys.argv[0]+“文件名”)
退出
filename=sys.argv[1]
#云存储的URI方案。
GOOGLE_STORAGE=“gs”
#用于访问本地文件的URI方案。
本地文件=“文件”
标题_值={“x-goog-project-id”:project_id}
#打开本地文件
打开(文件名为“r”)作为本地文件:
dst_uri=boto.storage_uri(BUCKET+'/'+文件名,GOOGLE_存储)
#关键相关功能是boto的结果
#与Amazon S3的互操作性(采用
#密钥映射到本地文件的概念)。
dst_uri.new_key().set_contents_from_file(localfile)
打印('已成功创建“%s/%s”'%(dst_uri.bucket_名称,dst_uri.object_名称))
回溯(最近一次呼叫最后一次): 文件“/upload2gcs.py”,第10行,在 进口波托
导入错误:没有名为boto的模块

包含boto模块的目录可能无法从Python查找要导入模块的任何路径中找到

在脚本中,检查
sys.path
列表,查看预期目录是否存在:

import pprint
import sys

pprint.pprint(sys.path)
例如,gsutil使用它自己的Boto分支进行打包;它在运行时执行一些附加步骤,以确保Boto模块的父目录添加到
sys.path
,从而允许后续的
import Boto
语句工作:

我假设这个文件是“upload2gcs.py”,但第10行没有任何内容。这就是您的“import-boto”语句在实际文件中的位置吗?请尝试“import.boto”谢谢,我将对此进行测试,如果解决方案解决了我的问题,请发表评论。