我在Windows 8.1机器上安装了全新的python版本.我尝试了Python 2.7.8和Python 3.4.我从命令提示符运行python get-pip.py-这正确安装了pip.我从here开始拥有它.之后,我运行pip install mongo-connector.这将下载mon...

我在Windows 8.1机器上安装了全新的python版本.
我尝试了Python 2.7.8和Python 3.4.
我从命令提示符运行python get-pip.py-这正确安装了pip.我从here开始拥有它.
之后,我运行pip install mongo-connector.这将下载mongo连接器,并引发如下异常:
Downloading/unpacking mongo-connector
Downloading mongo-connector-1.3.tar.gz
Running setup.py (path:c:\users\imon~1\appdata\local\temp\pip_build_èimon\mong
o-connector\setup.py) egg_info for package mongo-connector
Cleaning up...
Exception:
Traceback (most recent call last):
File "C:\Python27\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python27\lib\site-packages\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundl
e=self.bundle)
File "C:\Python27\lib\site-packages\pip\req.py", line 1234, in prepare_files
req_to_install.assert_source_matches_version()
File "C:\Python27\lib\site-packages\pip\req.py", line 464, in assert_source_ma
tches_version
% (display_path(self.source_dir), version, self))
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8a in position 55: ordinal
not in range(128)
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Python27\Scripts\pip.exe\__main__.py", line 9, in <module>
File "C:\Python27\lib\site-packages\pip\__init__.py", line 185, in main
return command.main(cmd_args)
File "C:\Python27\lib\site-packages\pip\basecommand.py", line 161, in main
text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8a in position 70: ordinal
not in range(128)
如果是Python 3.4,它会抛出:
Downloading/unpacking mongo-connector
Downloading mongo-connector-1.3.tar.gz
Cleaning up...
Exception:
Traceback (most recent call last):
File "C:\Python34\lib\site-packages\pip\basecommand.py", line 122, in main
status = self.run(options, args)
File "C:\Python34\lib\site-packages\pip\commands\install.py", line 278, in run
requirement_set.prepare_files(finder, force_root_egg_info=self.bundle, bundl
e=self.bundle)
File "C:\Python34\lib\site-packages\pip\req.py", line 1229, in prepare_files
req_to_install.run_egg_info()
File "C:\Python34\lib\site-packages\pip\req.py", line 292, in run_egg_info
logger.notify('Running setup.py (path:%s) egg_info for package %s' % (self.s
etup_py, self.name))
File "C:\Python34\lib\site-packages\pip\log.py", line 102, in notify
self.log(self.NOTIFY, msg, *args, **kw)
File "C:\Python34\lib\site-packages\pip\log.py", line 162, in log
consumer.write(write_content)
File "C:\Python34\lib\site-packages\pip\_vendor\colorama\ansitowin32.py", line
116, in write
self.write_and_convert(text)
File "C:\Python34\lib\site-packages\pip\_vendor\colorama\ansitowin32.py", line
143, in write_and_convert
self.write_plain_text(text, cursor, len(text))
File "C:\Python34\lib\site-packages\pip\_vendor\colorama\ansitowin32.py", line
148, in write_plain_text
self.wrapped.write(text[start:end])
File "C:\Python34\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u0160' in position
70: character maps to <undefined>
Traceback (most recent call last):
File "C:\Python34\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "C:\Python34\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Python34\Scripts\pip.exe\__main__.py", line 9, in <module>
File "C:\Python34\lib\site-packages\pip\__init__.py", line 185, in main
return command.main(cmd_args)
File "C:\Python34\lib\site-packages\pip\basecommand.py", line 168, in main
logger.fatal('Storing debug log for failure in %s' % log_file_fn)
File "C:\Python34\lib\site-packages\pip\log.py", line 111, in fatal
self.log(self.FATAL, msg, *args, **kw)
File "C:\Python34\lib\site-packages\pip\log.py", line 162, in log
consumer.write(write_content)
File "C:\Python34\lib\site-packages\pip\_vendor\colorama\ansitowin32.py", line
116, in write
self.write_and_convert(text)
File "C:\Python34\lib\site-packages\pip\_vendor\colorama\ansitowin32.py", line
140, in write_and_convert
self.write_plain_text(text, cursor, start)
File "C:\Python34\lib\site-packages\pip\_vendor\colorama\ansitowin32.py", line
148, in write_plain_text
self.wrapped.write(text[start:end])
File "C:\Python34\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u0160' in position
42: character maps to <undefined>
====
只运行不带任何参数的pip会引发以下情况:
Traceback (most recent call last):
File "C:\Python34\lib\runpy.py", line 170, in _run_module_as_main
"__main__", mod_spec)
File "C:\Python34\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\Python34\Scripts\pip.exe\__main__.py", line 9, in <module>
File "C:\Python34\lib\site-packages\pip\__init__.py", line 177, in main
cmd_name, cmd_args = parseopts(initial_args)
File "C:\Python34\lib\site-packages\pip\__init__.py", line 148, in parseopts
parser.print_help()
File "C:\Python34\lib\optparse.py", line 1646, in print_help
file.write(self.format_help())
File "C:\Python34\lib\encodings\cp437.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u0160' in position
1235: character maps to <undefined>
在Python 2.7.8中运行pip会引发以下情况:
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Python27\Scripts\pip.exe\__main__.py", line 9, in <module>
File "C:\Python27\lib\site-packages\pip\__init__.py", line 177, in main
cmd_name, cmd_args = parseopts(initial_args)
File "C:\Python27\lib\site-packages\pip\__init__.py", line 148, in parseopts
parser.print_help()
File "C:\Python27\lib\optparse.py", line 1670, in print_help
file.write(self.format_help().encode(encoding, "replace"))
File "C:\Python27\lib\encodings\cp437.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_map)
UnicodeDecodeError: 'ascii' codec can't decode byte 0x8a in position 1210: ordin
al not in range(128)
这在我使用过的任何其他机器上都从未发生过.我发现了许多类似的问题,但是都没有解决我需要处理的问题.
This thread告诉我运行chcp65001.执行此操作并随后运行pip时,它将引发此错误:
C:\Python27\Scripts>pip
Traceback (most recent call last):
File "C:\Python27\lib\runpy.py", line 162, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "C:\Python27\lib\runpy.py", line 72, in _run_code
exec code in run_globals
File "C:\Python27\Scripts\pip.exe\__main__.py", line 9, in <module>
File "C:\Python27\lib\site-packages\pip\__init__.py", line 177, in main
cmd_name, cmd_args = parseopts(initial_args)
File "C:\Python27\lib\site-packages\pip\__init__.py", line 148, in parseopts
parser.print_help()
File "C:\Python27\lib\optparse.py", line 1670, in print_help
file.write(self.format_help().encode(encoding, "replace"))
LookupError: unknown encoding: cp65001
根据this thread,可能的问题在于,用户名是包含Unicode字符的“?imon”.但是,我不知道该怎么办.我不会将任何python文件编辑为不同的编码,这似乎只是一个非常困难且临时的解决方法. (Windows为我使用了用户名,这是另一个不好的主意,不允许我为我选择用户名.)
解决方法:
因为python不知道“ cp65001”是“ utf-8”的别名
您可以在Windows中进行设置:
set PYTHONIOENCODING=utf-8
本文标题为:Python-另一个编码问题. Windows 8.1,均为最新的python.点引发异常


基础教程推荐
- vmware安装centos、python时踩到的坑 2023-09-03
- 如果列表后没有足够的连续内存,CPython处理列表的方式如何扩展? 2023-11-11
- python绘图中的 四个绘图技巧 2023-08-04
- Pytorch关于Dataset 的数据处理 2023-08-04
- [转] python运行时内存分析工具meliae 2023-09-05
- Python3 三种进程创建方法 2023-09-03
- Python文件处理与垃圾回收机制详情 2022-10-20
- python爬虫爬取bilibili网页基本内容 2023-08-11
- python学习笔记 day37 进程池 2023-09-03
- Python实现RLE格式与PNG格式互转 2022-09-02