我已经完成了我的 python 3 应用程序,它使用了来自 PyPi 的多个公共模块。
但是,在我将它部署到我公司的企业中运行之前,该企业将处理我们客户的凭据并访问 3rd 方 API,我需要进行尽职调查,确保它们既安全又安全。
我必须执行哪些步骤:
顺便说一下,Python 3 应用程序将在 Docker 容器中运行。
谢谢
有关发现'sphinx-build'无法找到的关于此主题的几个"未答复"帖子:在Mac OS中找不到 sphinx-build -h命令
Sphinx在OSX上使用以下两种方式安装:
python3 -m pip install sphinx brew install sphinx在任一情况下,这两个命令sphinx-build和sphinx-quickstart无法找到.
即使python3 -m pip freeze显示安装:
Sphinx==1.3.6
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
谢谢
我创建了一个python模块,称之为'foo_bar'.
我可以安装它,我可以升级它,但我无法卸载它.
我使用bdist_wheel构建我的模块:
$ python3 setup.py bdist_wheel
Run Code Online (Sandbox Code Playgroud)
我按如下方式安装和升级它:
$ python3 -m pip --timeout 60 install --upgrade dist/foo_bar-1.4.3-py3-none-any.whl
Run Code Online (Sandbox Code Playgroud)
它列在Python 3.4框架目录中:
ls -al /Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/
drwxr-xr-x 12 samwise admin 408 Jun 21 02:50 foo_bar
drwxr-xr-x 9 samwise admin 306 Jun 21 02:50 foo_bar-1.4.3.dist-info
Run Code Online (Sandbox Code Playgroud)
它在pip冻结中列出:
$ python3 -m pip freeze
foo-bar==1.4.3
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试执行pip uninstall,则无法找到它的文件
$ python3 -m pip uninstall foo-bar
Can't uninstall 'foo-bar'. No files were found to uninstall.
Run Code Online (Sandbox Code Playgroud)
我在setup.py中做错了什么,因为它在卸载期间无法找到我的模块文件?
版本信息如下:
$ python3 --version
Python 3.4.4
$ …Run Code Online (Sandbox Code Playgroud) 使用pytz,我知道如何列出时区名称,但我想获得每个时区名称的所有可能的时区缩写:
import pytz
list(pytz.common_timezones)
['Africa/Abidjan', 'Africa/Accra', 'Africa/Addis_Ababa',...]
Run Code Online (Sandbox Code Playgroud)
我正在寻找的是任何时区缩写,例如PST或PDT,忽略当前日期时间(例如现在),返回所有可能的时区名称,在这种情况下是一个包含America/Los_Angeles的列表。
谢谢
在我的python代码中,我期望在调用method之后可能引发异常requests.Session.request(),例如:
requests.exceptions.ConnectTimeout requests.exceptions.ReadTimeoutrequests.exceptions.Timeout当这些预期异常中的任何一个出现时,我都会适当地处理它们,例如可能重试。
我的问题是,我正在py.test用于单元测试,我故意要注入我代码中特定部分的引发异常。例如,调用requests.Session.request()而不是返回有效值的函数requests.Response将引发一个requests.exception。
我要确保我的代码成功处理来自其他程序包的预期和意外异常,其中包括来自的异常requests。
也许... @decorator我可以添加到上述功能中,以在单元测试期间根据要求引发异常吗?
有关为单元测试进行异常注入的建议?(对我的问题的正确措词将不胜感激。)
感谢您的答复!!!
这是创建requests.Session和调用的整个单例类requests.Session.request():
class MyRequest(metaclass=Singleton):
def __init__(self, retry_tries=3, retry_backoff=0.1, retry_codes=None):
self.session = requests.session()
if retry_codes is None:
retry_codes = set(REQUEST_RETRY_HTTP_STATUS_CODES)
self.session.mount(
'http',
HTTPAdapter(
max_retries=Retry(
total=retry_tries,
backoff_factor=retry_backoff,
status_forcelist=retry_codes,
),
),
)
def request(self, request_method, request_url, **kwargs):
try:
return self.session.request(method=request_method, url=request_url, **kwargs)
except Exception as ex:
log.warning(
"Session Request: Failed: {}".format(get_exception_message(ex)),
extra={
'request_method': request_method,
'request_url': request_url …Run Code Online (Sandbox Code Playgroud) https://docs.python.org/3/library/gzip.html
我正在考虑使用gzip.open(),我对这个mode论点有点困惑:
模式参数可以是二进制模式的'r','rb','a','ab','w','wb','x'或'xb'中的任何一个,或'rt','at' ,'wt'或'xt'用于文本模式.默认值为'rb'.
那么'w'和之间的区别是什么'wb'?
该文件表明它们都是二进制模式.
那么这是否意味着'w'和之间没有区别'wb'?