Тут трішки розповім про установку і налаштування Python під цю досить поширену систему, може аудиторія мого блогу і користувачів моїх скриптів трішки розшириться. Ну й аби запам’ятати до наступного разу, хто зна, може ще колись знадобиться. Про cygwin не розповідатиму, там все занадто просто для мене, і напевне надто складно для тих хто ще не пройшов курс “Shell-fu” на Memrise.
Перше що потрібно знати – на системі якої розрядності ми сидимо. Для цього натискаємо меню пуск, знаходимо пункт “Computer”, правий клік в контекстне меню, вибираємо пункт “Properties”. Або контекстне меню каталогу “Computer” де б ви його не знайшли. Відкривається вікно з адресою "Control Panel\All Control Panel Items\System"
. Також можна цю адресу в провіднику ввести. Якщо в цьому вікні написано:
System type: 64 bit Operating System
Значить ми 64 розрядні. В 32-розрядних певне буде написано про те що вона 32 розрядна.
Далі на офіційному сайті знаходимо файлик “Python 3.3.2 Windows X86-64 MSI Installer” (чи яка там версія для вас більше підходить), качаємо, запускаємо. З цього місця можете перервати читання цієї інструкції і поринути в Python 3 на один розділ. Після того повертайтесь сюди, то ще не все.
Далі нам потрібно перейти в командну оболонку. Натискаємо Win+R
, в вікні що виринає набираємо cmd
і натискаємо Enter
. Запуститься огидний термінал який використовує кодову сторінку 866. І це на хваленому Windows 7! Але ми цю проблему відкладемо на потім, спершу перевіримо чи python запускається. Пишемо команду “python”, і якщо все ок, то ми повинні побачити таке привітання:
Якщо ні – доведеться редагувати $PATH
. Та навіть якщо й все ок, його все одно доведеться редагувати. Тому знову переходимо в провіднику за адресою "Control Panel\All Control Panel Items\System"
. Там десь зліва натискаємо “Advanced system settings”. Вискочить вікно:
В вікні натискаємо кнопку “Environment Variables”, в таблиці “System variables” знаходимо змінну Path
, та переконуємось в тому що десь в ній є підрядок “C:\Python33\;C:\Python33\Scripts;
“. Не обов’язково буквально такий, але він повинен містити шлях до каталогу в якому міститься файл python.exe
тої версії яку ви встановили. Якщо в тому каталозі нема підкаталогу Scripts
– не переживаємо, скоро буде.
Далі скачуємо скрипт для встановлення distribute
. Запускаємо його:
python distribute_setup.py
Якщо все ок, то коли ми наберемо easy_install
, то побачимо таке:
C:\Users\tbunyk>easy_install
error: No urls, filenames, or requirements specified (see --help)
Якщо каже що не знає easy_install
, хоча запуск distribute_setup.py
був успішнм, і C:\Python33\Scripts\pip.exe
присутній – значить ви забули додати каталог Scripts
в змінну середовища Path
.
Тільки от використання easy_install
вже давно не схвалюється, тому його використовують як і IE – лише один раз:
easy_install pip
Далі нарешті ви можете встановити мою улюблену програмку:
pip install bwikibot
В мене при інсталяції виникали страшнющі помилки:
Downloading from URL https://pypi.python.org/packages/source/m/mwparserfromhell/mwparserfromhell-0.1.1.tar.gz#md5=5fb2c8b992bce12c6a1c31e5158b6662 (from https://pypi.python.org/simple/mwparserfromhell/)
Exception:
Traceback (most recent call last):
File "C:\Python33\lib\site-packages\pip\basecommand.py", line 139, in main
status = self.run(options, args)
...... трішки пропущено ......
File "C:\Python33\lib\ssl.py", line 327, in read
v = self._sslobj.read(len, buffer)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host
Я спочатку гуглив що це означає, нічого не знайшов, але при другій спробі запуску все встановилось до кінця.
bwikibot.exe
(ого, його скомпілювали!) з’являється в C:\Python33\Scripts\
і повинен запускатись простою командою bwikibot.
Правда звісно ця версія має купу проблем:
C:\Users\tbunyk>bwikibot read book
Exception No module named 'bulk_actions' in extension bulk_actions.py
Exception No module named 'check_uploads' in extension check_uploads.py
Exception No module named 'films' in extension films.py
Exception No module named 'translator' in extension translator.py
Traceback (most recent call last):
File "C:\Python33\Scripts\bwikibot-script.py", line 9, in <module>
load_entry_point('bwikibot==0.4.13', 'console_scripts', 'bwikibot')()
File "C:\Python33\lib\site-packages\bwikibot\cli.py", line 12, in main
run(*sys.argv)
File "C:\Python33\lib\site-packages\bwikibot\cli.py", line 22, in run
action(*argv[2:])
File "C:\Python33\lib\site-packages\bwikibot\cli.py", line 94, in read_page1
read_page(SESSION_FILE, *args)
File "C:\Python33\lib\site-packages\bwikibot\cli.py", line 89, in read_page
print(wiki.page(name).read())
File "C:\Python33\lib\encodings\cp866.py", line 19, in encode
return codecs.charmap_encode(input,self.errors,encoding_map)[0]
UnicodeEncodeError: 'charmap' codec can't encode character '\u014d' in position
1846: character maps to <undefined>
І знаєте, я тут подумав що писати консольні програми для Windows – невдячна справа. Напевне доведеться дописати ще якусь гуйовину. Тому скоро очікуйте bwikibot 0.5.0!
Ах, і ще одна проблема Python на Windows – тут не все так просто з пакетами що містять бінарники. Наприклад при встановленні lxml
я отримав:
error: Unable to find vcvarsall.bat
З PySide
– йому бракувало програми nmake
. PyQt
теж чогось бракувало. Я погуглив і з’ясував що що vcvarsall.bat
, що nmake
не знайдеш без Visual Studio. Ну, Visual Studio я люблю і напевне поставлю, але що робити потенційним користувачам моїх програм, які і так вже повинні були витерпіти довгий процес інсталяції який включав редагування змінної Path
я не знаю…
Ви лише погляньте який модний інтерфейс встановника Visual Studio і яка там досі огидна консоль.
Filed under:
Інструменти,
Кодерство,
Конспекти Tagged:
Python,
windows