ac1*_*184 6 python windows pip
如何修复Windows上的pip安装失败,错误如下.尝试安装ansible时出现此错误.
我怀疑选择的pip包安装问题.但同样适用于基于Linux的系统.pip安装的操作系统是否会有任何差异
Exception:
Traceback (most recent call last):
File "c:\python27\lib\site-packages\pip\basecommand.py", line 215, in main
status = self.run(options, args)
File "c:\python27\lib\site-packages\pip\commands\install.py", line 324, in run
requirement_set.prepare_files(finder)
File "c:\python27\lib\site-packages\pip\req\req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "c:\python27\lib\site-packages\pip\req\req_set.py", line 620, in _prepare_file
session=self.session, hashes=hashes)
File "c:\python27\lib\site-packages\pip\download.py", line 821, in unpack_url
hashes=hashes
File "c:\python27\lib\site-packages\pip\download.py", line 663, in unpack_http_url
unpack_file(from_path, location, content_type, link)
File "c:\python27\lib\site-packages\pip\utils\__init__.py", line 605, in unpack_file
untar_file(filename, location)
File "c:\python27\lib\site-packages\pip\utils\__init__.py", line 553, in untar_file
ensure_dir(path)
File "c:\python27\lib\site-packages\pip\utils\__init__.py", line 83, in ensure_dir
os.makedirs(path)
File "C:\Python27\Lib\os.py", line 157, in makedirs
mkdir(name, mode)
WindowsError: [Error 206] The filename or extension is too long: 'c:\\users\\user123\\appdata\\local\\temp\\pip-build-isnb2t\\ansible\\test/integration/targets/copy/files/subdir/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/'
Run Code Online (Sandbox Code Playgroud)
好吧,这似乎是一个已知的错误:
https://github.com/ansible/ansible/issues/31419
在Ansible 2.4.0中,模块副本在测试套件中使用符号链接:https://github.com/ansible/ansible/tree/devel/test/integration/targets/copy/files/subdir/subdir1
circles -> ../
subdir3 -> ../subdir2/subdir3
Run Code Online (Sandbox Code Playgroud)
Windows 10无法创建此目录树,因为路径太长.实际上解决的路径是:
test/integration/targets/copy/files/subdir/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir1/circles/subdir2/subdir3/
Run Code Online (Sandbox Code Playgroud)
错误报告以:
我们不支持直接在Windows机器上安装ansible.您将需要一个类似Linux的操作系统来安装ansible
一个可能的解决方法是在pypi上下载轮,它不依赖于Linux或其他什么,可能是纯python:
https://pypi.python.org/pypi/ansible/2.5.0a
Run Code Online (Sandbox Code Playgroud)
(该pip install ansible命令下载"source".tgz存档,执行测试,......并且路径问题在测试中,所以让我们使用一个现成的预建包)
下载后,请使用 pip install path/to/the/wheel/file.whl
在我的Windows 10计算机上成功测试并安装:
C:\Users\jotd>c:\Python27\Scripts\pip install C:\Users\jotd\Downloads\ansible-2.5.0a1-py2-none-any.whl
Processing c:\users\jotd\downloads\ansible-2.5.0a1-py2-none-any.whl
Requirement already satisfied: PyYAML in c:\python27\lib\site-packages (from ansible==2.5.0a1)
Collecting cryptography (from ansible==2.5.0a1)
<a lot of package collecting...>
Installing collected packages: idna, pycparser, cffi, asn1crypto, ipaddress, cryptography, pynacl, bcrypt, pyasn1, paramiko, ansible
Running setup.py install for pycparser ... done
Running setup.py install for ipaddress ... done
Successfully installed ansible-2.5.0a1 asn1crypto-0.24.0 bcrypt-3.1.4 cffi-1.11.4 cryptography-2.1.4 idna-2.6 ipaddress-1.0.19 paramiko-2.4.0 pyasn1-0.4.2 pycparser-2.18 pynacl-1.2.1
Run Code Online (Sandbox Code Playgroud)
好的,已安装,但让我们尝试导入它:
C:\Users\jotd>c:\python27\python
Python 2.7.12 (v2.7.12:d33e0cf91556, Jun 27 2016, 15:24:40) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ansible
>>>
Run Code Online (Sandbox Code Playgroud)
作品!好极了!
我在没有使用 pip 的情况下安装了 ansible,这对我来说似乎非常简单。
脚步:
从https://pypi.org/project/ansible/下载压缩的 .tgz 存档
打开 7-zip,右键单击以管理员身份运行并解压。<- 由于符号链接,管理是必需的
在文件夹中打开管理控制台并运行:
python setup.py 安装
现在 ansible 已安装在 Windows 上。
| 归档时间: |
|
| 查看次数: |
4973 次 |
| 最近记录: |