Запуск python на компьютере с Windows и Linux - PullRequest
15 голосов
/ 22 сентября 2010

Я заинтересован в изучении Python, но мои навыки в Linux - отстой. Я хотел бы разработать средне- и крупномасштабное веб-приложение с использованием python и django, но боюсь, что программное обеспечение может не работать на Windows. Есть ли разница в производительности при запуске python в Linux против Windows? Есть ли что-то, на что я должен обратить внимание при разработке приложения. Кроме того, я знаю, что очень легко интегрировать библиотеки C ++ с python. Это утверждение все еще верно, если код находится в окне Windows?

Ответы [ 6 ]

15 голосов
/ 22 сентября 2010

Никому не говорите об этом, но я запустил python / django на windows. Он работает хорошо, и производительность не хуже, чем вы ожидаете от Windows. Я использовал MySQL, и он установился без проблем. Мне пришлось поискать, как выяснить, как с этим справиться (ничего хорошего, 1001 *), но в итоге я нашел графический интерфейс, чтобы делать то, что мне нужно.

13 голосов
/ 22 сентября 2010

но боюсь, что программное обеспечение может не работать на Windows.

Ваше программное обеспечение будет работать. ОС Windows может работать не так, как вы надеетесь. Но это Windows, а не Python.

Мы разрабатываем 100% на Windows. Мы полностью тестируем: модульное тестирование, интеграционное тестирование и тестирование пользователем на Windows. 100%.

Мы развернем для производства 0% в Windows, 100% в Linux.

У нас есть несколько (менее 6) различий в модульных тестах, специфичных для Windows.

Приложение не имеет изменений. Работает с Apache или нет. Работает с SQLite или MySQL.

8 голосов
/ 22 сентября 2010

Я работал с Py на Windows и Linux.Я предпочитаю Linux из-за нескольких вещей:

  1. virtualenvs - как только вы начинаете работать с virtualenvs, пути назад нет.
  2. SHELL - CMD очень расстраивает при выполнении команд python / managementв Джанго.Кроме того, вы должны добавлять python.exe каждый раз:).
  3. ipython лучше работает в Linux.
  4. GeoDjango не работает в Vista / 7 в последний раз, когда я проверял.Я потратил 3 дня, пытаясь настроить его.Просто для сравнения, я установил GeoDjango-способную среду разработки в Linux за 20 минут.
  5. Linux бесплатен:)
  6. Хотя при работе с кроссплатформенным Python не наблюдается видимого влияния на производительность или несовместимость,Преимущества Linux для разработки на Python значительно перевешивают Windows.Это намного удобнее и определенно повысит вашу производительность.
  7. ...

IMHO Linux - это разумный выбор для разработки на Python.

1 голос
/ 22 сентября 2010
  1. Какое программное обеспечение, к которому вы боитесь, не будет работать в Windows, в реальном веб-приложении или в среде разработки.Если вы имеете в виду IDE, то я не стал бы беспокоиться о том, что есть очень хорошие Python IDE для Windows, а для веб-приложения это еще одно обсуждение вместе

  2. Утверждение, что «этоОчень простая интеграция библиотек C ++ с python "не точен, есть много способов сделать это, и они не все легки, я лично только попробовал SWIG, но есть много других альтернатив (например, Boost.Python), кто бы я ни хотелНе верьте, что с некоторыми из этих инструментов можно легко запустить и запустить их в среде Windows без чего-то вроде Mingw или Cygwin, поскольку, по крайней мере, SWIG построен с учетом * nix

1 голос
/ 22 сентября 2010

Не должно быть проблемой.Некоторые люди даже размещают Python + Django в Windows.

1 голос
/ 22 сентября 2010

Программа Python очень легко переносима. В большинстве случаев ваш код будет работать на любой платформе с соответствующей версией python.

Однако следует помнить об обработке пути к файлу. Linux, Windows, Mac и т. Д. Используют разные схемы путей, поэтому вам не следует обрабатывать их как строки; вместо этого используйте функции os.path для объединения, разделения и т. д.

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

Интегрировать Python и C ++ легко; единственная проблема на стороне C ++, то есть вам придется перекомпилировать код C ++.

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