2016-12-14 2 views
0

Недавно я установил Python 2.7, поскольку я хотел переписать некоторый скрипт, написанный на Python 3.5. После того, как я изменил переменную PATH в среду я хотел установить модуль панд Я gettint следующее сообщение об ошибке:Я не могу установить какой-либо пакет, используя pip

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

В этом случае. Он решил проблему. Благодаря! –

+0

Полезно знать, я обратил свой комментарий к ответу, поэтому ку может принять его, если это поможет. – mata

ответ

1

Это, кажется, проблема, в то время как pip пытается создать файл блокировки в каталоге кеша, вероятно, потому, что путь к вашему домашнему каталогу пользователя, в котором обычно хранится кеш, содержит символы не-ascii.

В качестве обходного пути вы можете попытаться передать опцию --no-cache-dir на пипс или явно передать --cache-dir, состоящий из символов onyl ascii.

0

Обновление пип часто может решить такие проблемы, как это, попробуйте:

pip install --upgrade pip 

А затем попытаться переустановить панд.

Если это не работает, есть известная ошибка в пипе, касающаяся символов Юникода. Более подробную информацию можно найти на странице pip github page.

+0

К сожалению, я получаю ту же ошибку, что и ранее, когда я пытаюсь обновить pip. –

+1

Возможно ли, что у вас есть символ юникода на вашем пути? –

+0

Наверное, нет. Это выглядит так: C: \ Python27 \; C: \ Python27 \ Scripts \; D: \ Users \ michal_cisek \ AppData \ Local \ Programs \ MiKTeX 2.9 \ miktex \ bin \; D: \ Program Files (x86) \ Rtools \ Bin \ –

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 ....

Смежные вопросы