9

Buildout は私のシステム全体の Distribute インストールを気に入らず、実行を拒否します:

plone@s15447224:~/mybuildout$ python bootstrap.py 
Creating directory '/home/plone/mybuildout/bin'.
Creating directory '/home/plone/mybuildout/parts'.
Creating directory '/home/plone/mybuildout/eggs'.
Creating directory '/home/plone/mybuildout/develop-eggs'.
Getting distribution for 'distribute==0.6.14'.
Before install bootstrap.
Scanning installed packages
Setuptools installation detected at /usr/lib/python2.6/dist-packages
Non-egg installation
Removing elements out of the way...
Already patched.
/usr/lib/python2.6/dist-packages/setuptools.egg-info already patched.
After install bootstrap.
Creating /usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg-info
error: /usr/local/lib/python2.6/dist-packages/setuptools-0.6c11-py2.6.egg-info: Permission denied
An error occurred when trying to install distribute 0.6.14. Look above this message for any errors that were output by easy_install.
While:
  Bootstrapping.
  Getting distribution for 'distribute==0.6.14'.
Error: Couldn't install: distribute 0.6.14

buildout に独自の Distribute をインストールし、システム全体の Python インストールを台無しにしないように指示する方法はありますか?

私はvirtualenvについて知っています。しかし、buildout を満足させるために virtualenv をインストールするだけではやり過ぎのようです。何か他の方法があるはずです。

パイソン 2.6。プレーン 4.1. Ubuntu 10.4。

4

5 に答える 5

4

はい、'-S' 引数を指定して Python を実行する Buildout 1.5.x を使用します (-S : 初期化時に 'インポート サイト' を意味しません)。

(そして、システム全体の Distribute も最新バージョンにアップグレードしてみてください)

于 2011-04-29T06:39:05.250 に答える
3

distribution_setup.pyのバグのようです。現在、回避策はsetuptoolsbootstrap.pyを使用することです。

編集:https ://bitbucket.org/tarek/distribute/issue/231/bootstrappy-tries-to-modify-global-python#comment-1254375の詳細編集: http ://pypi.python.org/pypiを修正/distribute/0.6.27#id2

于 2012-01-25T22:50:12.037 に答える
3

私もこれを見たことがあります。私は常にそれを「解決」することになったと思いvirtualenvますsudo easy_install -U setuptools

この問題は の一部のバージョンが原因である可能bootstrap.pyがあります。しかし、それは単なる理論です。私はこれを Plone 3 ビルドアウトのほとんどに追加します:http://svn.zope.org/*checkout*/zc.buildout/tags/1.4.4/bootstrap/bootstrap.py

于 2011-04-28T21:42:01.460 に答える
0

@maurits と同じ概念を使用します。Makefile スニペットは次のとおりです。

  1. virtualenv を作成します
  2. virtualenv 内に buildout をインストールします
  3. そして builtout -c builtout.cfg を実行します

メイクファイル:

PROJECT_NAME = <virtualenv_name>
PYTHON := $(shell if [ ! -z "`python --version 2>&1 | grep 'Python 2'`" ] ; then echo python; else echo python2; fi)

virtual:
    virtualenv --unzip-setuptools --prompt='$(PROJECT_NAME)::' --python=$(PYTHON) virtual \
    || \
    virtualenv --unzip-setuptools --python=$(PYTHON) virtual

development: virtual
    . virtual/bin/activate && make -C . construct-env

construct-env:
    pip install zc.buildout
    buildout -c buildout.cfg
于 2012-04-07T07:33:33.703 に答える
0

zope が提供する kgs は、setuptools のバージョンを固定して配布します: http://download.zope.org/zopetoolkit/index/1.0.2/ztk-versions.cfg

setuptools = 0.6c11 配布 = 0.6.14

最善の方法は、システムから python-setuptools パッケージを削除することです。ブートストラップは、setuptools または配布 (-d オプション) があることを確認するためにここにありますが、ビルドアウトはこれらのバージョンを要求しています。

かなり奇妙です。

于 2011-04-28T18:50:21.697 に答える