Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:导入带有'-';以名义_Python_Ansible - Fatal编程技术网

Python:导入带有'-';以名义

Python:导入带有'-';以名义,python,ansible,Python,Ansible,我正在尝试从sh导入anisble playbook模块 >>>> from sh import ansible-playbook File "<stdin>", line 1 from sh import ansible-playbook ^ SyntaxError: invalid syntax 来自sh import ansible playbook的>>>> 文件“”,第1行 从sh导入a

我正在尝试从sh导入anisble playbook模块

>>>> from sh import ansible-playbook
  File "<stdin>", line 1
    from sh import ansible-playbook
                         ^
SyntaxError: invalid syntax
来自sh import ansible playbook的
>>>>
文件“”,第1行
从sh导入ansible剧本
^
SyntaxError:无效语法
我还尝试安装libs“ansible”和“ansible剧本”

pip安装ansible
/home/mfusion/pypy/bin/pypy:/lib64/libssl.so.1.0.0:没有可用的版本信息(/home/mfusion/pypypy/bin/libpypy-c.so需要)
/home/mfusion/pypy/bin/pypy:/lib64/libssl.so.1.0.0:没有可用的版本信息(/home/mfusion/pypypy/bin/libpypy-c.so需要)
/home/mfusion/pypy/bin/pypy:/lib64/libcrypto.so.1.0.0:没有可用的版本信息(/home/mfusion/pypy/bin/libpypy-c.so需要)
集邮
下载ansible-2.3.2.0.tar.gz(4.3MB)
100%|##############################
收集jinja2(来自ansible)
下载Jinja2-2.9.6-py2.py3-none-any.whl(340kB)
100%|##############################
已满足要求(使用--升级到升级):PyYAML in./pypy/site包(来自ansible)
收集paramiko(来自ansible)
下载paramiko-2.2.1-py2.py3-none-any.whl(176kB)
100%|##############################
正在收集pycrypto>=2.6(来自ansible)
下载pycrypto-2.6.1.tar.gz(446kB)
100%
已满足要求(使用--升级到升级):在./pypy/site包中安装工具(来自ansible)
收集标记安全>=0.23(来自jinja2->ansible)
下载MarkupSafe-1.0.tar.gz
收集bcrypt>=3.1.3(从paramiko->ansible)
下载bcrypt-3.1.3.tar.gz(40kB)
100%|#####################################
收集加密>=1.1(来自paramiko->ansible)
下载cryptography-2.0.3.tar.gz(427kB)
100%|##############################
从命令python setup.py egg_info完成输出:
/home/mfusion/pypy/bin/pypy:/lib64/libssl.so.1.0.0:没有可用的版本信息(/home/mfusion/pypypy/bin/libpypy-c.so需要)
/home/mfusion/pypy/bin/pypy:/lib64/libssl.so.1.0.0:没有可用的版本信息(/home/mfusion/pypypy/bin/libpypy-c.so需要)
/home/mfusion/pypy/bin/pypy:/lib64/libcrypto.so.1.0.0:没有可用的版本信息(/home/mfusion/pypy/bin/libpypy-c.so需要)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/tmp/pip build IsodPx/cryptography/setup.py”,第52行,在
“加密1.9与PyPy<5.3不兼容。请”
运行时错误:加密1.9与PyPy<5.3不兼容。请升级PyPy以使用此库。
----------------------------------------
命令“python setup.py egg_info”在/tmp/pip build IsodPx/cryptography中失败,错误代码为1/
您使用的是pip版本8.1.2,但版本9.0.1可用。
您应该考虑通过“PIP安装升级PIP”命令进行升级。
pip安装ansible剧本
/home/mfusion/pypy/bin/pypy:/lib64/libssl.so.1.0.0:没有可用的版本信息(/home/mfusion/pypypy/bin/libpypy-c.so需要)
/home/mfusion/pypy/bin/pypy:/lib64/libssl.so.1.0.0:没有可用的版本信息(/home/mfusion/pypypy/bin/libpypy-c.so需要)
/home/mfusion/pypy/bin/pypy:/lib64/libcrypto.so.1.0.0:没有可用的版本信息(/home/mfusion/pypy/bin/libpypy-c.so需要)
收集ansible剧本
找不到满足ansible playbook要求的版本(来自版本:)
未找到ansible playbook的匹配发行版
您使用的是pip版本8.1.2,但版本9.0.1可用。
您应该考虑通过“PIP安装升级PIP”命令进行升级。
CoreOS是一个平台,我使用python作为二进制文件。我有 在这里查看了一些在线建议,并尝试了以下方法

>>>> __import__("ansible-playbook")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named ansible-playbook

 exec("ansible-playbook")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: global name 'ansible' is not defined
>>>\uuuuu导入(“ansible剧本”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
ImportError:没有名为ansible playbook的模块
执行官(“ansible剧本”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第1行,在
NameError:未定义全局名称“ansible”
请帮忙。。。 最好,我想从上海进口ansible剧本


在我的例子中,我借助bash命令别名解决了这个问题

ansible playbook是命令行playbook执行器,您无法将其导入代码中

相反,你可以像

来自ansible.executor.playbook\u executor导入PlaybookExecutor

PlaybookExecutor通过传递参数来执行ansible playbook,如


PlaybookExecutor(playbooks、库存、变量管理器、加载器、选项、密码)

您的文件结构是什么样的?模块是否与脚本位于同一文件夹中?名称中不能有
-
的模块。如果您选择了此名称,请选择另一个名称。仅供参考:我为ansible playbook创建了一个别名,然后它就工作了。
>>>> __import__("ansible-playbook")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named ansible-playbook

 exec("ansible-playbook")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: global name 'ansible' is not defined