3

次のガイドを使用して、Django 1.4 プロジェクトの開発環境を作成しようとしています。

http://www.stereoplex.com/blog/a-django-development-environment-with-zc-buildout

ガイドのvirtualenv部分は、次の出力で正常に実行されます。

virtualenv project
New python executable in project\Scripts\python.exe
Installing setuptools................done.
Installing pip...................done.                       

その後、開発環境をアクティブ化できます。次に、 Sourceという名前のディレクトリを作成し、そこにbootstrap.pyをダウンロードして、次の内容でbuildout.cfgを作成します。

[buildout]
parts =

そして、bootstrap.py を実行すると、次の結果が得られます。

Creating directory 'C:\\Dropbox\\XYZ\\project\\Source\\bin'.            
Creating directory 'C:\\Dropbox\\XYZ\\project\\Source\\parts'.          
Creating directory 'C:\\Dropbox\\XYZ\\project\\Source\\eggs'.           
Creating directory 'C:\\Dropbox\\XYZ\\project\\Source\\develop-eggs'.   
Generated script 'C:\\Dropbox\\XYZ\\project\\Source\\bin\\buildout'. 

ここに問題の部分があります - Django のインストールbuildout.cfg を次のように構成し、ブートストラップによって作成された bin\buildout を実行します。

[buildout]
parts = django

[django]
recipe = djangorecipe
version = 1.4

bin\buildout を実行した後、次のエラーが発生します。

(project) C:\Dropbox\XYZ\project\Source>bin\buildout.exe                      
Traceback (most recent call last):           

File "C:\Dropbox\XYZ\project\Source\bin\buildout-script.py", line 15, in <module>                                                                               import site # imports custom buildout-generated site.py                       

File "C:\Dropbox\XYZ\project\Source\parts\buildout\site.py", line 601, in <module>                                                                              main()                                                                        

File "C:\Dropbox\XYZ\project\Source\parts\buildout\site.py", line 584, in main                                                                                  known_paths = addsitepackages(known_paths)                                    

File "C:\Dropbox\XYZ\project\Source\parts\buildout\site.py", line 328, in addsitepackages                                                                       import pkg_resources                                                        

ImportError: No module named pkg_resources

プロジェクト環境で直接 python を実行すると、エラーなしで pkg_resources をインポートできます。

(project) C:\Dropbox\XYZ\project\Source>python                                
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32                                                                              Type "help", "copyright", "credits" or "license" for more information.          
>>> import pkg_resources                                                        
>>> pkg_resources                                                               
<module 'pkg_resources' from 'C:\Dropbox\XYZ\project\lib\site-packages\setuptools-0.6c11-py2.7.egg\pkg_resources.py'>  

私はここで完全に打たれました。助言がありますか?

4

2 に答える 2

5

私には決定的な答えはありませんが、ここにいくつかのブレインストーミングの考えがあります:

  • なぜvirtualenv?Buildout自体が分離を提供するため、virtualenvは必要ありません。bootstrap.pyとbuildout.cfgだけで再試行できますか?では、システムpythonでbootstrap.pyを実行するだけですか?

  • ビルドアウトをグローバルにインストールしていますか?それらは干渉する可能性があります。

  • 最新の1.5.2ビルドアウトには、状況によってはsite.pyファイルにいくつかの問題があります。これが、virtualenv内で失敗する理由として考えられます。http://pypi.python.org/pypi/zc.buildout/1.5.2#system-python-and-zc-buildout-1-5に記載されている特別な1.4.4ブートストラップを試してみてください。

  • bin/buildout -vvvより多くのデバッグ情報を提供します。

追加コメント:djangorecipeのversion設定は、最新バージョンのdjangorecipeでは非推奨になりました。削除できます。Djangoを固定する場合は、ビルドアウトの[version]リストに固定する必要があります。

于 2012-04-25T13:39:04.023 に答える
3

あなたがフォローしているガイドは少し時代遅れです。特に変数[django]でパーツを処理するときに失敗します。djangorecipeページversionに表示される新しい方法でバージョンを指定する必要があります。これは:

[buildout]
parts = django
versions = versions

[versions]
django = 1.4
于 2012-04-25T13:39:29.267 に答える