2013-04-04 2 views
2

Когда я пытаюсь запустить следующий Python 3.3 код на OS X 10.8 в PyCharm 2.7 (или запустите файл .py с Python 3.3/2.7.3 пусковой):Python 3.3 - urllib.request - импорт ошибка

import urllib.request 
f = urllib.request.urlopen('http://www.python.org/') 
print(f.read(300)) 

я получаю следующее сообщение об ошибке:

/System/Library/Frameworks/Python.framework/Versions/3.3/bin/python3 /Users/username/PycharmProjects/urllib/urllib.py 
Traceback (most recent call last): 
    File "<frozen importlib._bootstrap>", line 1512, in _find_and_load_unlocked 
AttributeError: 'module' object has no attribute '__path__' 

During handling of the above exception, another exception occurred: 

Traceback (most recent call last): 
    File "/Users/username/PycharmProjects/urllib/urllib.py", line 3, in <module> 
    import urllib.request 
    File "/Users/username/PycharmProjects/urllib/urllib.py", line 3, in <module> 
    import urllib.request 
ImportError: No module named 'urllib.request'; urllib is not a package 

Process finished with exit code 1 

единственный способ, которым я могу успешно запустить код является через оболочку Python.

Любые идеи о том, как это решить?

Спасибо.


Я изменил имя файла на url.py, теперь он успешно выполняется в PyCharm.

Но при выполнении файла с помощью Python Launcher 3.3 это дает мне следующую ошибку:

File "/Users/username/PycharmProjects/urllib/url.py", line 3, in <module> 
import urllib.request 
ImportError: No module named request 

Почему код работает нормально в PyCharm (3.3), но дает мне ошибку при запуске с Python Launcher (3.3)?

+0

Назовите свой файл чем-то иным, чем 'urllib.py' – bernie

+0

По умолчанию Python сначала ищет текущий каталог для импортируемых модулей. – bernie

ответ

10

Вы назвали свой файл urllib, он затеняет стандартный пакет библиотеки. Переименуйте файл.

+3

+1 за отправку ответа, а не оставлять комментарий от привода – bernie

+2

Спасибо за быстрый ответ! – narzero

+0

Я изменил имя файла на url.py, теперь он успешно выполняется в PyCharm. Но при выполнении файла с помощью Python Launcher 3.3 это дает мне следующую ошибку: Файл "/Users/narekaramjan/PycharmProjects/urllib/url.py", строка 3, в импорт urllib.request ImportError: Нет module named request Почему код работает нормально в PyCharm (3.3), но дает мне ошибку при запуске с Pythong Launcher (3.3)? – narzero

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