1

virtualenvwrapperを使用してCKANプロジェクトで開発することは、 virtualenvwrapperの紹介から得られる単純なワークフローよりも少し複雑です。つまりmkvirtualenv ckanCKANソースのインストール手順に従ってCKANをvirtualenvにインストールし、CKANをハッキングするだけです。

virtualenvwrapperのドキュメントを正しく理解している場合は、mkproject ckanコマンドを使用して、ckanというvirtualenvをWORKON_HOME~/.virtualenvsデフォルトで)非表示にし、PROJECT_HOME~/Projects私のマシンでは)ckanという素敵で整頓されたプロジェクトディレクトリに、実際に作業しているソースコードリポジトリであり、virtualenvに入る他のすべてのファイルが散らかっていません。しかし、virtualenvwrapperのプロジェクト管理ドキュメントはあまり詳細ではありません。

そうしてmkproject ckanからckansourceのインストール手順に従うと、pip install --ignore-installed -e git+https://github.com/okfn/ckan.git#egg=ckanコマンドはckan gitリポジトリを必要な場所で~/.virtualenvs/ckan/src/ckanはなく、~/Projects/ckanディレクトリにインストールします。ckan gitリポジトリをプロジェクトディレクトリに配置するにはどうすればよいですか?

また、同じvirtualenvwrapperプロジェクトの一部としてさまざまなCKAN拡張機能(一部は独自のgitリポジトリに含まれています)をハックしたいので、virtualenvwrapperにもそれらをインストールしてもらいたいと思い~/Projects/ckanます。

4

1 に答える 1

3

私は自分の質問に答えています、以下は私にとって十分にうまくいったようですが、私が手動で行うすべてのgitクローニングやpipインストールなどを自動化することでこの答えを改善できると思います...

秘訣は、ckanソースのインストール手順から少し逸脱してckangit cloneをプロジェクトディレクトリに「手動で」配置することです。次に、python setup.py developckanをvirtualenvにインストールするために追加のコマンドを実行する必要があります(pip installコマンドでこれを処理できます)。

> mkproject ckan

これにより、ckanvirtualenvatWORKON_HOME/ckanとckanprojectdir atが作成され、virtualenvがアクティブ化され、プロジェクトdirPROJECT_HOME/ckanにcdされます。これまでのところ、virtualenvとproject dirは「空」であり、ckanはまだどこにもインストールされていません。次に、ckangitリポジトリのクローンを作成します。

(ckan)~/Projects/ckan> git clone git@github.com:okfn/ckan.git

これにより、gitリポジトリのクローンが作成され~/Projects/ckan/ckanます。この時点では、ckanコマンドはまだ機能しません。gitリポジトリのクローンを作成しましたが、virtualenvにckanをインストールしていません。

(ckan)~/Projects/ckan> cd ckan
(ckan)~/Projects/ckan/ckan> python setup.py develop

ckanの依存関係をvirtualenvにインストールするまで、ckanコマンドは機能しません。

(ckan)~/Projects/ckan/ckan> pip install --ignore-installed -r requires/lucid_missing.txt -r requires/lucid_conflict.txt -r requires/lucid_present.txt
(ckan)~/Projects/ckan/ckan> pip install webob==1.0.8

これで、最後にckanコマンドを実行できます。

(ckan)~/Projects/ckan/ckan> paster make-config ckan development.ini
    (edit development.ini as necessary)
(ckan)~/Projects/ckan/ckan> paster serve development.ini
Starting server in PID 17356.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000

これ以降、ckanでの開発を開始するたびに、実行workon ckanしてckan virtualenvをアクティブ化し、ckanプロジェクトディレクトリにcdして、ハックすることができます。

ckanext-harvestなどのCKAN拡張機能もハックしたい場合は、そのgitレポジトリをckangitrepoと一緒にckanプロジェクトディレクトリにインストールできます。

(ckan)~/Projects/ckan> git clone git@github.com:okfn/ckanext-harvest.git
(ckan)~/Projects/ckan> cd ckanext-harvest
(ckan)~/Projects/ckan/ckanext-harvest> python setup.py develop
于 2012-06-16T20:16:00.340 に答える