最近我安装了Python 2.7,因为我想重写一些用Python 3.5编写的脚本。在我修改了PATH环境变量后,我想安装pandas模块,我得到以下错误:
C:\Python27>pip install pandas
Collecting pandas
Exception:
Traceback (most recent call last):
File "c:\python27\lib\site-packages\pip\basecommand.py", line 209, in main
status = self.run(options, args)
File "c:\python27\lib\site-packages\pip\commands\install.py", line 299, in run
requirement_set.prepare_files(finder)
File "c:\python27\lib\site-packages\pip\req\req_set.py", line 360, in prepare_
files
ignore_dependencies=self.ignore_dependencies))
File "c:\python27\lib\site-packages\pip\req\req_set.py", line 512, in _prepare
_file
finder, self.upgrade, require_hashes)
File "c:\python27\lib\site-packages\pip\req\req_install.py", line 273, in popu
late_link
self.link = finder.find_requirement(self, upgrade)
File "c:\python27\lib\site-packages\pip\index.py", line 440, in find_requireme
nt
all_candidates = self.find_all_candidates(req.name)
File "c:\python27\lib\site-packages\pip\index.py", line 398, in find_all_candi
dates
for page in self._get_pages(url_locations, project_name):
File "c:\python27\lib\site-packages\pip\index.py", line 543, in _get_pages
page = self._get_page(location)
File "c:\python27\lib\site-packages\pip\index.py", line 646, in _get_page
return HTMLPage.get_page(link, session=self.session)
File "c:\python27\lib\site-packages\pip\index.py", line 755, in get_page
"Cache-Control": "max-age=600",
File "c:\python27\lib\site-packages\pip\_vendor\requests\sessions.py", line 48
0, in get
return self.request('GET', url, **kwargs)
File "c:\python27\lib\site-packages\pip\download.py", line 378, in request
return super(PipSession, self).request(method, url, *args, **kwargs)
File "c:\python27\lib\site-packages\pip\_vendor\requests\sessions.py", line 46
8, in request
resp = self.send(prep, **send_kwargs)
File "c:\python27\lib\site-packages\pip\_vendor\requests\sessions.py", line 60
8, in send
r.content
File "c:\python27\lib\site-packages\pip\_vendor\requests\models.py", line 737,
in content
self._content = bytes().join(self.iter_content(CONTENT_CHUNK_SIZE)) or bytes
()
File "c:\python27\lib\site-packages\pip\_vendor\requests\models.py", line 660,
in generate
for chunk in self.raw.stream(chunk_size, decode_content=True):
File "c:\python27\lib\site-packages\pip\_vendor\requests\packages\urllib3\resp
onse.py", line 344, in stream
data = self.read(amt=amt, decode_content=decode_content)
File "c:\python27\lib\site-packages\pip\_vendor\requests\packages\urllib3\resp
onse.py", line 301, in read
data = self._fp.read(amt)
File "c:\python27\lib\site-packages\pip\_vendor\cachecontrol\filewrapper.py",
line 54, in read
self.__callback(self.__buf.getvalue())
File "c:\python27\lib\site-packages\pip\_vendor\cachecontrol\controller.py", l
ine 297, in cache_response
self.serializer.dumps(request, response, body=body),
File "c:\python27\lib\site-packages\pip\download.py", line 281, in set
return super(SafeFileCache, self).set(*args, **kwargs)
File "c:\python27\lib\site-packages\pip\_vendor\cachecontrol\caches\file_cache
.py", line 99, in set
with self.lock_class(name) as lock:
File "c:\python27\lib\site-packages\pip\_vendor\lockfile\mkdirlockfile.py", li
ne 19, in __init__
LockBase.__init__(self, path, threaded, timeout)
File "c:\python27\lib\site-packages\pip\_vendor\lockfile\__init__.py", line 24
2, in __init__
hash(self.path)))
File "c:\python27\lib\ntpath.py", line 85, in join
result_path = result_path + p_path
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb3 in position 5: ordinal
not in range(128)
任何想法如何克服这个问题?我删除了Python 3.5的路径,但它没有帮助。
我也无法安装其他软件包。
答案 0 :(得分:1)
这似乎是一个问题,而pip试图在缓存目录中创建一个锁文件,可能是因为通常存储缓存的用户主目录路径包含非ascii字符。
作为一种解决方法,您可以尝试将--no-cache-dir
选项传递给pip,或者显式传递由onyl ascii字符组成的--cache-dir
。
答案 1 :(得分:0)
升级pip通常可以解决此类问题,请尝试:
pip install --upgrade pip
然后尝试重新安装大熊猫。
如果这不起作用,则有关于unicode字符的pip存在已知错误。有关详细信息,请参阅pip github page。
答案 2 :(得分:0)
你可以尝试:
在Linux或macOS上:
pip install -U pip
在Windows上:
python -m pip install -U pip
或者您可以使用conda install
替代pip
:
http://conda.pydata.org/docs/install/full.html
....
答案 3 :(得分:0)
我尝试了所有这些但仍然得到相同的错误,直到我运行命令
pip install --upgrade pip --no-cache-dir
再次运行第二个命令
pip install -U pip
它已经解决了。现在我可以正常安装
pip install <package_name>
pip install -r <file>