Как мне подготовиться к лету работы над Python в среде Linux? - PullRequest
4 голосов
/ 12 апреля 2010

Я до сих пор использовал только Windows для программирования. Теперь у меня стажировка, начинающаяся через две недели, и я буду использовать только среду Linux с языком программирования Python. Я установил Ubuntu в своей системе, но не имею доступа к сценариям оболочки.

Мне нужен совет, как быстро научиться пользоваться терминалом Linux. Какие книги или веб-ресурсы вы можете предложить?

Кроме того, есть ли конкретная IDE, которая обычно предпочтительна для программирования на Python в Linux, или Vim предпочтительнее? Как мне лучше подготовиться к предстоящей стажировке?

Спасибо, что нашли время.

Ответы [ 10 ]

5 голосов
/ 13 апреля 2010

В качестве стажера вы захотите использовать инструменты, с которыми ваш наставник наиболее удобен. Если вы застряли, вы сможете быстро спросить совета.

Помочь вам освоить vi, vim или emacs. Основные концепции , используемые в одном, будут перенесены в другой. Вам нужно будет иметь возможность открывать и читать файлы, выполнять поиск по файлам, редактировать и сохранять файлы и узнавать, как правильно применять любые помощники форматирования python.

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

Цель стажировки (и в действительности всего вашего времени в университете) должна использоваться для изучения концепций, а не конкретных инструментов. Если вы изучите концепции, вы сможете применить эти концепции с помощью любого инструмента. Вы также «научитесь учить» новый инструмент, который действительно полезен.

2 голосов
/ 13 апреля 2010

Я рекомендую Eclipse + PyDev . Вы можете быстро начать работу с этой средой разработки. Я также рекомендую сайт Dive Into Python . Он предоставляет вам онлайн бесплатную версию книги Dive Into Python, которая очень проста для чтения, понятна и очень подходит для начинающих Python. Если вам действительно нужна бумажная книга под рукой, Learning Python , a.k.a. The Animal Guide, просто лучший.

2 голосов
/ 13 апреля 2010

В этом случае ваше отсутствие знаний в области сценариев оболочки не должно иметь значения, хотя это не составит труда для изучения. Я перечитал некоторые учебники по оболочке и применил их на практике. Попробуйте выполнить все из командной строки, в том числе найти (grep), найти / заменить все (sed), найти файлы (найти), автоматизировать работу с использованием сценариев Python и т. Д. По сути, не читы. Вы многое подберете таким образом. Вы также, вероятно, в конечном итоге задаетесь вопросом, как вы когда-либо справлялись с Windows.

Что я использую, зависит от проекта. Мне действительно нравится Eclipse + PyDev, но это мое личное предпочтение, я также использую Vim в зависимости от того, где я нахожусь / что я делаю. Помните, что вы можете просто набрать python из командной строки, и вы попадете в среду Python.

1 голос
/ 13 апреля 2010

не имеет отношения к сценариям оболочки

Хорошо! У вас есть Python, так что, надеюсь, вам не нужно прибегать к написанию реальных скриптов с помощью оболочки. Он может быть более мощным, чем командные файлы DOS, но он так же уродлив.

Мне нужен совет, как я могу быстро научиться быстро пользоваться терминалом Linux.

Что-то вроде этого ?

Помимо изучения команд, вы захотите привыкнуть к использованию табуляции и возврата команд со стрелками (если вы этого еще не сделали с помощью командной строки Windows), прокрутки с помощью стрелок и скоро. Также полезно знать суффикс команды & (выполнить в фоновом режиме), ctrl-C-to-stop, ctrl-Z-to-pause, jobs и screen.

Кстати, если вы будете проводить какое-то количество времени в интерактивном интерпретаторе Python, то стоит добавить завершение табуляции и там. (Это в равной степени относится и к Windows, но в Win вы, как правило, не получаете pyreadline по умолчанию.)

существует ли конкретная IDE, которая обычно предпочтительна для программирования на Python в Linux

Как и в Windows, есть IDE, если вы хотите их, но многие люди просто используют обычный текстовый редактор. vim хорошо, если это то, что тебе нравится. nano - еще один текстовый редактор в терминале, который вы обычно получаете, это относительно просто. Стандартный настольный редактор Ubuntu gedit тоже подойдет. Это вопрос личного вкуса.

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

1 голос
/ 13 апреля 2010

В дополнение к уже написанному замечательному совету, я бы предложил вам установить IPython (Откройте терминал с помощью Приложения> Аксессуары> Терминал и введите):

sudo apt-get install ipython

Также в терминале вы можете набрать ipython, чтобы запустить интерпретатор Python. В отличие от встроенного интерпретатора Python, ipython обеспечивает завершение табуляции.

Например, если вы введете имя объекта, за которым следует точка и TAB (например, sys.[TAB]), ipython покажет вам (почти) все атрибуты объекта.

Введите знак вопроса после имени объекта (например, sys?), и вы получите документацию по этому объекту.

Это отличный способ изучить Python.

1 голос
/ 13 апреля 2010

Научитесь понимать страницы человека.

Почти для любой старой команды / программы linux есть страница справочника, которая обычно объясняет команду достаточно подробно.

Итак, основы навигации по файловой системе:

Показать содержимое каталога (список)

ls

Показать скрытые файлы

ls -a

Показать подробности

ls -l

Изменить каталог

cd /full/path/name

Распечатать текущий каталог

pwd

Удалить файл

rm file

Удалить каталог (рекурсивно)

rm -r directoryName

Сделать каталог

mkdir directoryName

Переместить (или переименовать) файл

mv /path/to/file /new/path/to/file

Показать справочную страницу для mv

man mv

Может потребоваться изучение vim, в зависимости от среды вашего стажера. Я делаю свой Python (и все, что не является простым редактированием текста) в Eclipse. В любом случае вы должны научиться открывать файл, вносить некоторые изменения и сохранять изменения в Vim.

Имейте в виду, Ubuntu очень прост. Чтобы сделать вещи сложнее для себя, используйте командную строку для всех мыслимых вещей. Открывайте программы, вводя их имена в терминал. Просматривайте свои файлы с помощью терминала. Делайте простое редактирование с vim. Это должно послужить хорошей практикой в ​​течение дня, когда вам нужно подключиться по SSH к компьютеру в Неверленде и загрузить и установить локальную копию вашего любимого переводчика из источника, чтобы настроить задание cron для запуска сценария для воспроизведения шума часов.

0 голосов
/ 13 апреля 2010

Что касается терминального и быстрого способа понять это и изучить его, в сети есть отличные шпаргалки: http://fosswire.com/post/2007/8/unixlinux-command-cheat-sheet/

0 голосов
/ 13 апреля 2010

Что касается редактора Python, я лично предпочитаю использовать SciTE . Это просто текстовый редактор для программиста с подсветкой синтаксиса для разных языков. Я предпочитаю легкий редактор над более сложной средой, но если вам нужна полноценная IDE, вы всегда можете попробовать NetBeans , IDLE или Komodo (все они доступны как в Windows, так и в Linux).

0 голосов
/ 13 апреля 2010

для самого начинающего введения в командную строку, проверьте: http://en.flossmanuals.net/CommandLineIntro/GettingStarted

0 голосов
/ 13 апреля 2010

Для Python IDE я рекомендую использовать IDLE или Eclipse с PyDev.

Имейте в виду, что вы также можете просто использовать python в командной строке linux. Он поддерживает загрузку кода из файлов, и если вы используете два командных окна, то одним из них будет ваш «REPL», где вы будете запускать python и динамически загружать код - а другое окно может запустить ваш редактор.

Что касается командной строки Linux, я не могу рекомендовать какие-либо большие ресурсы. Тем не менее, вы отлично стартуете, если погрузитесь в эту среду и будете использовать Linux только в течение следующих 2 недель. Просто продолжайте учиться, и когда вы не знаете, как что-то сделать, прочитайте man-страницу или поищите в Google, чтобы найти ответ.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...