2

Pythonとvirtualenvのような他のパッケージがすでにインストールされている共有Webサーバーで作業している場合。virtualenvを使用して、システム全体のpythonとパッケージを使用しながら、特定のディレクトリに必要な追加のパッケージをインストールできますか、それとも、追加のpythonパッケージを自分のディレクトリにインストールして、sudo権限を必要とせずにWebサイトで使用できますか?

4

3 に答える 3

4

--system-site-packagesスイッチを使用して、グローバルにインストールされたすべてのパッケージをvirtualenvに明示的に含めることができます 。

仮想環境へのグローバルサイトパッケージディレクトリへのアクセスを許可します

--no-site-packagesまたは、代わりにスイッチを使用してグローバルサイトパッケージを無効にします。

仮想環境へのグローバルサイトパッケージディレクトリへのアクセスを許可しないでください

現在、後者がデフォルトです。

私は個人的lxmlにグローバルサイトパッケージにインストールしたので、それを小さなデモンストレーションとして使用できます。

$ virtualenv nositepackages
New python executable in nositepackages/bin/python
Installing setuptools............done.
Installing pip...c............done.
$ ./nositepackages/bin/python -c 'import lxml; print lxml.__package__'
Traceback (most recent call last):
  File "<string>", line 1, in <module>
ImportError: No module named lxml
$ virtualenv --system-site-packages sitepackages
New python executable in sitepackages/bin/python
Installing setuptools............done.
Installing pip...............done.
$ ./sitepackages/bin/python -c 'import lxml; print lxml.__package__'
lxml
于 2012-09-17T16:36:00.543 に答える
0

また、必要なパッケージを、権限のあるディレクトリにコピーすることもできます。次に、__ init __。pyで、Pythonパスを次のように変更する必要があります。

import sys
sys.path.append("/path/to/the_dir/with_packages")
于 2012-09-18T04:18:17.003 に答える
0

名前付きの$HOMEにディレクトリをlib追加します。名前付きのディレクトリにディレクトリを追加しますpython

新しいディレクトリをpath/pythonpath.bashrcおよび.bash_profileに追加します

nano ~/.bashrc次に追加export PYTHONPATH=$PYTHONPATH:~/lib/pythonします。これにより、シェルを介して(たとえば、Webサイトを介して)アクセスされない場合の環境が設定されます。

に同じ行を追加.bash_profileします。これにより、シェルからログインするときに環境が制御されます。

ターミナルからログアウトして再度ログインする

echo $PYTHONPATH〜/ lib/pythonフォルダーがあることを確認します

wget https://downloadまたはを使用して目的のPythonパッケージをダウンロードしますgit clone package/repo

zipをダウンロードした場合は解凍しますtar -xvf somefile.tar.bz

解凍したディレクトリに移動します

cd some_package\

--HOMEタグを指定してsetup.pyを実行します

python setup.py install --HOME=~

試して

python -c "import <package>;print <package>.VERSION;"

カスタムパッケージをインストールしました。おめでとうございます:)

ちなみに、virtualenvの方がはるかに堅牢なソリューションであることがわかりましたが、適切にセットアップするのが難しい場合があります。いくつかのカスタムパッケージのみが必要な場合、これは単なるものです...

于 2012-09-17T16:48:48.733 に答える