オプション付きのvirtualenvがあり--no-site-packages
ます。私はそれにscrapyを使用しています。Scrapyは。によってlibxml2import libxml2
を使用します。またはを使用してvirtualenvにlibxml2をインストールするにはどうすればよいですpip
かeasy_install
?
6 に答える
libxml2はPythonパッケージではなくCライブラリであるため、Pipを使用してインストールすることはできません。通常、ほとんどすべてのLinuxディストリビューションにすでにインストールされています。あなたがそれをインストールする必要があるなら、それはただです
sudo apt-get install libxml2
何らかの理由でローカルインストールがどうしても必要な場合は、.debパッケージまたはRPMを取得してインストールする必要があります。ソースをダウンロードしてビルドできることを除けば。
共通コピーを使用しても問題がないが、パスに/ usr / local /を含めたくない場合は、virtualenv内でシンボリックリンクするだけです。
http://xmlsoft.org/で(おそらくあなたが望んでいたよりも)より多くの情報を見つけることができます
Scrapyはそれを要件にリストしています:
- Python2.5以降
- ツイスト2.5.0以上
- libxml2 2.6.28以降(Python入札を含む)
- pyopenssl-安全な(HTTPS)ページをクロールする場合のみ
lxmlをインストールする前に(Debianに):
apt-get install libxml2-dev libxslt1-dev pythonX.X-dev -y
またはまたは他の針付きPythonバージョンpythonX.X
はどこにありますか。python2.7
python2.6
システムパッケージをインストールした後:
workon %environment_name%
pip install lxml --upgrade
Ubuntu 14.04カーネルで、この問題が発生しました。
私はすでにpipを使用してlxmlをインストールしました。
pip install lxml --upgrade
私がvirtualenvの中に入れようとすると、それはいつも私に
x86_64-gnu-gcc exit 1
私はこれを使用して解決しsudo apt-get install libssl-dev
ました。
または、Windowsを使用している場合は、質問から推測できるように、libxml2バイナリを取得する必要があります。scrapyサイトにリンクがあり、2010年11月の時点で、すべてで動作するバージョンがコンパイルされています。 -または、lxml2で動作するscrapyの現在のトランク/開発バージョンを取得します。virtualenvの場合、追加のバイナリを使用してセットアップする方法がわからないため、後者のアプローチが最適な場合があります。私は後者のアプローチを採用しましたが、これまでのところ問題なく機能しています。Scrapyの非常に役立つ作成者であるPabloHoffmanに感謝します(Scrapyのメーリングリストにこのような質問を投稿したとき、彼はほぼ翌日、この変更をトランクにリリースしました)。注:Python 2.7で動作するlibxml2バイナリは、その時点ではまだ利用できませんでした。
apt-get(または他のパッケージマネージャー)を使用してpython-libxml2をインストールした場合 は、フラグを使用してvirtualenvからアクセスできます--system-site-packages
。
virtualenvを作成するときは、次のようにこのフラグを指定するだけです。
virtualenv --system-site-packages env
このようにして、virtualenvはシステム全体にインストールされているlibxml2パッケージを継承します。