小编Woo*_*ess的帖子

ImportError:在windows7 32位中运行pip --version命令时无法导入名称main

我安装了最新的python(2.7.9)捆绑了pip和setuptools for windows 32-bit.我已经尝试重新安装pip,但问题仍然存在.

这是pip --version在Administrator cmd中运行后的错误:

Traceback (most recent call last):
 File "D:\Python\lib\runpy.py", line 162, in _run_module_as_main
  "__main__", fname, loader, pkg_name)
 File "D:\Python\lib\runpy.py", line 72, in _run_code 
  exec code in run_globals
 File "D:\Python\Scripts\pip.exe\__main__.py", line 5, in <module>
ImportError: cannot import name main
Run Code Online (Sandbox Code Playgroud)

python pip importerror

141
推荐指数
6
解决办法
12万
查看次数

Python 模拟 vs unittest.mock 补丁

这些进口有什么区别?

from mock import patch
Run Code Online (Sandbox Code Playgroud)

对比

from unittest.mock import patch
Run Code Online (Sandbox Code Playgroud)

他们是一样的吗?

python unit-testing patch mocking python-unittest

10
推荐指数
1
解决办法
3799
查看次数

使用Wget跳过成功下载的文件

所以我有这个Bash子程序使用wget下载文件,现在我的问题是如何跳过成功下载的文件.该脚本下载了大量文件,一旦下载失败,它会重新下载所有文件,从一开始就覆盖这些成功的下载(由于重新下载,这可能是不完整的).

那么如何跳过成功下载的文件呢?

DownloadFile() {
  paramURL=$1
  paramFilename=$2

  if [ $flag_archive_fetch = "false"  ];
  then
      wget "--timeout=180" "--tries=5" "$paramURL" "-O" "${scratch_dir}$paramFilename"
  else
      unzip -o "$archive_file" "$paramFilename" -d "${scratch_dir}"
  fi

  touch "${scratch_dir}$paramFilename"
}
Run Code Online (Sandbox Code Playgroud)

linux bash wget download

3
推荐指数
1
解决办法
798
查看次数

如何通过python更新AWS Secrets Manager?

我找不到任何有关如何将值上传/更新到AWS Secrets Manager的文档。我只能通过python检索值。有没有解决方法?

python amazon-web-services boto3 aws-secrets-manager

3
推荐指数
2
解决办法
61
查看次数

Amazon SQS 消息消失了

我有一个 Amazon SQS 队列和一个死信队列。

我的 python 程序从 SQS 队列获取一条消息,然后,如果它引发异常,它会将消息发送到死信队列。

现在我有一个程序可以检查死信队列是否仍然可以处理这些消息。如果是,它将被发送回主 SQS 队列。你看,我在这里期望的是在我的测试中出现各种无限循环,但显然,该消息在 2 次尝试后消失。为什么会这样?

当我在消息中添加一个额外的字段(这是随机值)时,它会以某种方式执行我的期望(来回发送的无限循环)。SQS 中是否有一种机制可以阻止我在消息相同时执行的操作?

def handle_retrieved_messages(self):
    if not self._messages:
        return None

    for message in self._messages:
        try:
            logger.info(
                "Processing Dead Letter message: {}".format(
                    message.get("Body")
                )
            )
            message_body = self._convert_json_to_dict(message.get("Body"))
            reprocessed = self._process_message(
                message_body, None, message_body
            )
        except Exception as e:
            logger.exception(
                "Failed to process the following SQS message:\n"
                "Message Body: {}\n"
                "Error: {}".format(message.get("Body", "<empty body>"), e)
            )
            # Send to error queue
            self._delete_message(message)
            self._sqs_sender.send_message(message_body)
        else:
            self._delete_message(message)
            if not reprocessed: …
Run Code Online (Sandbox Code Playgroud)

amazon-sqs amazon-web-services dead-letter boto3

0
推荐指数
1
解决办法
3307
查看次数