我有一个用 Python 3(Python 3.6.0 解释器)编写的简单 CLI 项目,我可以直接从命令行使用包和模块名称运行它,但在安装时失败setuptools:
# success
? python -m myProject.cli --version
0.0.1.dev0
Run Code Online (Sandbox Code Playgroud)
# failure
? mycli --version
Traceback (most recent call last):
File "/path/myProject/venv/bin/mycli", line 11, in <module>
load_entry_point('myProject==0.0.1.dev0', 'console_scripts', 'mycli')()
File "/path/myProject/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 560, in load_entry_point
return get_distribution(dist).load_entry_point(group, name)
File "/path/myProject/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2648, in load_entry_point
return ep.load()
File "/path/myProject/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2302, in load
return self.resolve()
File "/path/myProject/venv/lib/python3.6/site-packages/pkg_resources/__init__.py", line 2308, in resolve
module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'myProject'
Run Code Online (Sandbox Code Playgroud)
该项目具有以下结构: …
我有一个kubernetes集群,其中设置了kops 1.5,然后升级到1.6.2.我正在尝试使用PodPresets.文档声明了以下要求:
- 您已启用api类型settings.k8s.io/v1alpha1/podpreset
- 您已启用准入控制器PodPreset
- 您已定义了pod预设
我看到1.6.x,第一个是照顾(我怎么验证?).我怎么能申请第二个?我可以看到群集中有三个kube-apiserver-*pod(我想它是3个az).我想我可以从kubernetes仪表板编辑他们的yaml配置,并将PodPreset添加到permit-control字符串中.但有没有更好的方法来实现这一目标?
在子shell中设置'extglob'选项时,Bash脚本的执行失败并显示以下错误消息:
/tmp/foo.sh: line 7: syntax error near unexpected token `('
Run Code Online (Sandbox Code Playgroud)
#!/usr/bin/env bash
set -euo pipefail
(
shopt -s extglob
for f in ?(.)!(|+(.)|vendor); do
echo "$f"
done
)
Run Code Online (Sandbox Code Playgroud)
它在函数内以相同的方式失败:
#!/usr/bin/env bash
set -euo pipefail
list_no_vendor () {
shopt -s extglob
for f in ?(.)!(|+(.)|vendor); do
echo "$f"
done
}
list_no_vendor
Run Code Online (Sandbox Code Playgroud)
在这两种情况下,当在子shell或函数之外全局设置选项时,脚本会成功执行.
令人惊讶的是,在本地设置时,'extglob'选项似乎在子shell和函数中有效启用:
#!/usr/bin/env bash
set -euo pipefail
(
shopt -s extglob
echo 'In the subshell:' "$(shopt extglob)"
)
list_no_vendor () {
shopt …Run Code Online (Sandbox Code Playgroud)