私はpython2.7とpython3.4に付属のOpenSUSE 13.2 tumbleweedを新しくインストールして実行しています。 Pythonベースのライブラリの実行中に、次のエラーが発生し続けますImportError: No module named site
。この質問に対するすべての答えは、PYTHONPATHおよび/またはPYTHONHOME環境変数をいくつかのパスに設定することに関連していますが、私が考えることができるすべてのパスの組み合わせを試しましたが、何も機能しません。アイデア?
問題のあるライブラリはyoutube-dlとflexgetです。
ベストアンサー1
ライブラリ管理を正しくすることがディストリビューションの使命です。 Pythonのような場合でも、これを困難にするために多くの努力をしているようです。
を
#!/usr/bin/python2
使用してPython 2プログラムを実行するか。使用しないでください。 2匹のシルクヘビを持つ前でも、それはただ愚かで悪いアドバイスです。#!/usr/bin/python3
python2 script
python3 script
#!/usr/bin/env python
可能であれば、ディストリビューションPythonライブラリのパッケージバージョンを使用してください。 1.2.0.0.0.0.3 バージョンがパッケージ化されるには 1 週間待たなければなりませんが、まだ古代バージョン 1.2.0.0.0.0.2 にとどまっています。または数ヶ月。アップグレードされたライブラリは、システムを台無しにするリスクを負う価値がありますが、これはごくまれです。使用しない、または「他のライブラリを使用する」とは、「このライブラリを手動でインストールしてシステムを混乱させる」よりも、常に常に良い答えです。
ライブラリを手動でインストールする必要がある場合システムに合わせて指示を調整してください。。これらのガイドラインは(ほとんどの場合)開発者のシステムに適用できますが、設定方法について多くの仮定をしています。これは、ディストリビューションのドキュメントと説明を徹底的に読み、システムのPython環境とその動作を理解することを意味します。
ディストリビューションがPythonライブラリの管理に関してすべてを正しく実行しても、システムに合わせて指示を調整しないと、Python環境が混乱する可能性があります。これは悲しいことに、Python(およびRuby)では一般的な結果であり、他のプログラミングまたはスクリプト言語では異例です。本質的に、ディストリビューションやオペレーティングシステムを無視し(使用して使用する必要があるツールではなく)、Pythonの世界で解決する必要がある障害物として扱うという悪いアドバイスがたくさんあります。