2012-07-05 12 views
15

最近私はPythonでかなりの作業をしていて、Djangoのドキュメントを読んでいましたが、ほとんどのビデオチュートリアルではLinuxが選択されたOSとして表示されているという事実を否定できません。私はこれをほとんど無視しましたが、Windows 7のコマンドプロンプトで、「touch」のようなコマンドを使用している人には、同等のものが何もわからないという問題が発生しました。私はPower ShellのNew-Itemについて聞いたことがありますが、それは面倒です。私はこの「同等の狩り」が何度も繰り返されるかもしれないと恐れています...Python/Django開発、WindowsまたはLinux?

なぜLinuxを使用している人々の大部分が開発目的のためにLinuxを使うことを学ぶために、Pythonを使って、私のLinux知識が完全にヌルであることを知って良い動きになるでしょうか?一般的にPythonを使って開発する方がより効率的になりますか?そうすることのメリットを列挙することは可能でしょうか?

+0

http://programmers.stackexchange.com/ – sahid

答えて

20

私は、Djangoの開発にかなりの時間のためのWindowsを使用しますが、最終的にはLinuxは、単純に行くには良い方法であることを考え出しました。いくつかのPythonパッケージは、Windowsのすべてで、または正しくインストールされていないことも、あなたがそう

  • を行うことのためにあなたがDjangoはそれをアプリ展開する必要がある場合、それは手間の多くを作成します

    • :ここではいくつかの理由がありますUnix風味のシステムを使用する方が理にかなっています。なぜなら、その99%の可能性はあなたの展開環境が同じであるからです。同じ構成のローカルマシンでドライランを実行すると、あとで多くの時間を節約できます。ここでは、間違いを許されています。
    • あなたのアプリケーションがLinuxで複雑になって、必要な依存関係を得ることができれば、それは拡張機能、ライブラリなどとなります。Windowsでは、適切なサイトを探して、すべてをダウンロードし、いくつかのインストールと設定。私はいくつかの特定のものを時々検索するのに多くの時間がかかりました。 Linuxでは、しばしば "apt-get"(または類似したもの)だけで済みます。
    • Linuxですべてのものを入手してインストールするのが速いことに言及しましたか?

    もちろん、アプリがシンプルで、導入について気にする必要がない場合は、Windowsは問題ありません。

  • +0

    私はあなたに同意します。Linuxはかなり開発者に親しみがありますが、私はPython DjangoのWindows 10に移行したいと思います。窓には "パワーシェル "の違いは? Windowsに移行する主な理由の1つは、Visual StudioとAzureプラットフォームのコミュニティ版です。しかし、私はまだそこのLinuxほどの開発は滑らかではないのだろうか? –

    +0

    私は本当にあなたに答えられませんが、powershellはLinux端末と同じではありません。私が聞いたことから、それは交換できません。あなたはまだ私が(あなたが使用する端末とは無関係に)上記の問題を抱えています。最後に、あなたはもちろんそれを試すことができます。 –

    +0

    私は展開についてのポイントは控えめだと思います。 Windows上にアプリケーションを展開する予定の場合は、是非、Windowsを使用して開発してください。 Linuxに展開する予定の場合は、Linuxを使用するか、少なくともローカル開発用のUNIXを使用してください。これにより、プラットフォーム固有の依存関係の問題を遅くなく早期に解決するのに役立ちます。また、修正するのに高価になると、プラットフォーム固有のバグがQAまたはプロダクションでポップアップする可能性が減ります。 –

    0

    djangoは純粋なpythonで書かれているので、Windows + Eclipse + PyDevを使って開発するだけで十分です。

    あなたが本当にいくつかのLinuxコマンドを使用してクールな人に従って、cygwinまたはmingWinをインストールし、システムPATHをBINディレクティブに設定したい場合は、次に、それらを使用することができます(タッチを含む)。

    Linuxは、nginx、uWSGI、mod_wsgi、Apache2など多くの便利なPython C拡張機能のようなクールなものを簡単にコンパイル/インストール/設定できるdjangoプロジェクトの展開に最適です。

    Linuxを使用するもう一つの理由は、プロジェクトをホストするために使用される仮想プライベートサーバーが、それをサポートする可能性が高いことです。

    5

    Python開発用にLinuxを使用するといくつかの利点があります(たとえば、一部のライブラリはLinuxでしか動作しません)。あなたがWindowsを使用するのを止めるものは何もありませんdjango作品;私は毎日それを使用し、何もまだ収穫する必要はありません。

    快適なIDEは、開発経験をより楽しくするための道のりです。多くの人がPydevをEclipseで使用しています。共通のネイティブ版である - しかし私は、チュートリアルの多くは、あなたのLinuxやMacのデスクトップ(シェル)が表示されます、あなたはunixtoolsをインストールすることによって(touchlsなどのような)と同等のコマンドを取得することができますPyCharm

    を好みますUNIXツール。

    一般的なPythonライブラリのWindowsインストーラがあるthis websiteをブックマークする必要があります。

    2

    どのオペレーティングシステムが最も好きですか。 開発のためにpydev(付属)とともにAptana 3を使用することができます。

    開発時には、 "os" python libをdirsのパスとして使用することを覚えておいてください。そうすれば、アプリケーションはWindowsとLinuxの下で正しく動作します。例えば

    PROJECT_DIR = os.path.dirname(os.path.abspath(__file__)) 
    
    MEDIA_ROOT = os.path.join(PROJECT_DIR, 'site_media') 
    
    1

    私は通常、自分のデスクトップでOSXを使用しますが、Linux用のPythonを使用しています。これはそれがどのように展開されるかということです。具体的には、私は、仮想マシンでUbuntu Desktopを使用してPythonアプリケーションを開発し、Ubuntuをサーバー上で使用して展開します。これは、ライブラリとモジュールの要件/依存性についての私の理解が、アプリケーションを配備する準備ができているときにサーバに100%移転できることを意味します。

    OSX(またはWindows)を使用してPythonアプリケーションを開発した場合、要件と依存性を処理する2つの異なる方法を扱う必要があります。それはあまりにも多くの作業です。

    私の提案:VMWare Playerを使用して(無料です)、学習を開始するためのUbuntu VMを見つけてください。それはあまりにも複雑ではなく、実際にはかなり楽しいです。

    関連する問題