2016-03-13 7 views
1

Я нахожусь на Windows 8, установлен Anaconda Python 2.7.11. вот мой питон код:Как решить эту проблему urlib2.URLError: <urlopen error [Errno 10013]?

import urllib2 
url = "http://real-chart.finance.yahoo.com/table.csv?s=GOOG&ignore=.csv" 
response = urllib2.urlopen(url) 
data = response.read() 
read = csv.DictReader(data) 

Я только что нашел этот код где-то еще и скопировать его (и заменить его с моей собственной URL).

И я получаю эту трассировку ошибки:

Traceback (most recent call last): 
    File "01_get_traindata.py", line 25, in <module> 
    response = urllib2.urlopen(url) 
    File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 154, in urlopen 
    return opener.open(url, data, timeout) 
    File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 431, in open 
    response = self._open(req, data) 
    File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 449, in _open 
    '_open', req) 
    File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 1227, in http_open 
    return self.do_open(httplib.HTTPConnection, req) 
    File "C:\Users\Tin Tran\Anaconda2\lib\urllib2.py", line 1197, in do_open 
    raise URLError(err) 
urllib2.URLError: <urlopen error [Errno 10013] An attempt was made to access a s 
ocket in a way forbidden by its access permissions> 

Я читал где-то еще, что это, возможно, придется сделать что-то брандмауэр, так что я отключил брандмауэр, и это все еще происходит.

Вещи, которые я попробовал: задающие python.exe для работы в качестве администратора (я получил «Доступ запрещен» в командном окне после того, как запрос на запуск от имени администратора) уже позволило python.exe в моем брандмауэре (все еще Безразлично работа). Даже полностью отключил брандмауэр (все еще не работает). Я проверил, и моя учетная запись уже является администратором.

ОБНОВЛЕНИЕ: решена после перезагрузки компьютера. У меня все еще отключен мой брандмауэр и разрешен python.exe через брандмауэр. Возможно, потребуется перезагрузка. Странно.

ответ

0

Не уверен, что вы пытаетесь сделать, но попробовать:

import urllib 
urllib.urlretrieve ("http://real-chart.finance.yahoo.com/table.csv?s=GOOG&ignore=.csv", "csv.csv") 

, который работает и сохраните файл локально.

Затем попытайтесь работать с файлом на вашем компьютере?

+0

Этот код я нашел и в другом месте, и произошла ошибка. UPDATE: Weird Я скопировал ваш код, и теперь он работает, интересно, что я сделал по-другому на этот раз –

+0

Ну, наконец, он работает! Я рад, что вы все разобрались. – Blimeys

-1

Ваш код работает для меня на Win10, CPython. Проблема может возникнуть из-за того, что вы запускаете скрипт в непривилегированном режиме. См:

https://stackoverflow.com/a/2779304/1113207

Таким образом, вы можете попробовать запустить интерпретатор питона в качестве администратора и/или отключить контроль учетных записей.

Другая возможная причина заключается в том, что локальный брандмауэр предотвратили соединение:

https://stackoverflow.com/a/6806143/1113207

Попробуйте отключить его, чтобы увидеть, если это проблема.

+0

отключил брандмауэр, и это все еще происходит ... с первой ссылкой там я не уверен, что решение в точности как, как я могу дать admin priviledges для моего python.exe? –

+0

@TinTran, я бы попробовал выполнить 1) запустить интерпретатор (python.exe) в качестве администратора: http://www.cnet.com/how-to/always-run-a-program-in-administrator-mode-in- windows-10/2) Отключить UAC: https://www.articulate.com/support/storyline/how-to-turn-user-account-control-onoff-in-windows-8 –

+0

@TinTran 3) Попробуйте отключить ваш антивирус тоже :) –

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