win10的pycharm中安装ansible模块过程
阅读原文时间:2021年11月21日阅读:1

ansible模块安装报错:Could not install packages due to an OSError: [Errno 2] No such file or directory:
先升级pip版本,如果不指定国内源,容易更新失败
(venv) D:\python_mcw\venv\Scripts>D:\python_mcw\venv\Scripts\python.exe -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple/
然后设置里安装ansible失败
pip install --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ ansible 设置里执行的命令
Try to run this command from the system terminal. Make sure that you use the correct version of 'pip' installed for your Python interpreter located at 'D:\python_mcw\venv\Scripts\python.exe'.
执行命令还是出现问题:
(venv) D:\python_mcw\venv\Scripts>D:\python_mcw\venv\Scripts\pip.exe install ansible -i https://pypi.tuna.tsinghua.edu.cn/simple/

Using cached https://pypi.tuna.tsinghua.edu.cn/packages/ac/17/cb3ae6e4ae5b2d936ec5bf7e20cb91814e3af3ed27bbfcdf8a7253a016d5/ansible-4.8.0.tar.gz (36.1 MB)
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory: 'C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\pip-install-3nnxfuc8\\ansible_b5e66e8954384775acff7f9696d7e583\\ans
ible_collections/amazon/aws/tests/unit/plugins/modules/placebo_recordings/cloudformation/client_request_token_s3_stack/cloudformation.DescribeStackEvents_1.json'
HINT: This error might have occurred since this system does not have Windows Long Path support enabled. You can find information on how to enable this at https://pip.pypa.io/warnings/enable-long-paths

按照提示是系统不支持长路径,需要打开功能:https://pip.pypa.io/warnings/enable-long-paths

cmd:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"LongPathsEnabled"=dword:00000001

powershell:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem" `
-Name "LongPathsEnabled" -Value 1 -PropertyType DWORD -Force

这里我 桌面上ctrl  +shift 右击,打开powershell 执行命令,这个问题就没了,下面是变成另一个问题了

ansible下載地址:https://releases.ansible.com/ansible/

这里我 下载了ansible 2.9.17的包,后面从其它地方下载其它版本包用下面方法安装就成功了

我在win10的pycharm上装ansible模块,准备学习写ansible插件用 ,但是pycharm上pip安装不了呀,怎么试都是这个报错,有大佬知道怎么解决吗?我找了网上的信息了,没看到有效的解决方法。

error: can't copy 'lib\ansible\module_utils\ansible_release.py': doesn't
exist or not a regular file

报错详情:
………
copying lib\ansible\modules\wait_for_connection.py -> build\lib\ansible\modules
copying lib\ansible\modules\yum.py -> build\lib\ansible\modules
copying lib\ansible\modules\yum_repository.py -> build\lib\ansible\module
s
copying lib\ansible\modules_init_.py -> build\lib\ansible\modules
creating build\lib\ansible\module_utils
error: can't copy 'lib\ansible\module_utils\ansible_release.py': doesn't
exist or not a regular file
----------------------------------------
ERROR: Command errored out with exit status 1: 'D:\python_mcw\venv\Scripts\py
thon.exe' -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"
'C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-nzxalbzo\ansible-core_305a73fdeb1b456395fe17a9510839d2\setup.py'"'"'; file='"'"'C:\Users\ADMINI~1\AppData\Local\Temp\pip-install-nzxa
lbzo\ansible-core_305a73fdeb1b456395fe17a9510839d2\setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(file) if os.path.exists(file) else io.StringIO('"'"'from setuptools import setup;
setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, file, '"'"'exec'"'"'))' install --record 'C:\Users\ADMINI~1\AppData\Local\Temp\pip-record-gaqrbj71\i
nstall-record.txt' --single-version-externally-managed --compile --install-headers 'D:\python_mcw\venv\include\site\python3.6\ansible-core' Check the logs for full command output.

windows下使用pycharm开发基于ansible api的python程序
Window下python安装ansible,基于ansible api开发python程序#
在windows下使用pycharm开发基于ansible api的python程序时,发现ansible的包无法import。本机安装的是3.7.0的python,cmd下使用pip安装ansible一直安装失败。pycharm中使用File | Settings | Project: runTasks | Project Interpreter也无法导入ansible的包。后来终于找到解决方法。

下载ansible压缩包:https://files.pythonhosted.org/packages/ec/ee/1494474b59c6e9cccdfde32da1364b94cdb280ff96b1493deaf4f3ae55f8/ansible-2.7.1.tar.gz
解压到python安装路径下,例如(D:\python_mcw\venv\Scripts\ansible-2.7.1);
以管理员身份运行cmd,cd到上面的安装路径下,输入d:\python_mcw\venv\Scripts\python.exe setup.py install,即可用安装成功;
然后进入pycharm项目中,再次import ansible的包就可以了。

备注:之前用ansible 2.9.17的包还是不行,报错,怀疑是ansible包的问题,于是换成2.7.1的,果然是可以了。
执行成功如下:
Using d:\python_mcw\venv\lib\site-packages
Finished processing dependencies for ansible==2.7.1
前面有个语法报错忽略掉没影响:
File "d:\python_mcw\venv\lib\site-packages\ansible-2.7.1-py3.6.egg\ansible\modules\clustering\openshift\_openshift_scale.py", line 1
../k8s/k8s_scale.py
^
SyntaxError: invalid syntax

安装完之后可以看到python虚拟环境中已经生成了ansible的 目录了D:\python_mcw\venv\Lib\site-packages\ansible-2.7.1-py3.6.egg\ansible
不知道是不是可以直接复制目录到其它虚拟环境使用呢,有时间验证下
进入pycharm,import ansible 没导入成功,关闭pycharm重新打开项目,就可以成功导入ansible模块
这个 模块的安装过程,如果包没有问题,也可以用这个方式安装其它python第三方模块

参考链接:https://www.cnblogs.com/ryxiong-blog/p/11245756.html