使用virtualenvwrapper在CKAN项目上进行开发要比从virtualenvwrapper introduction获得的简单工作流程复杂一点,即只需执行mkvirtualenv ckan,然后按照CKAN source install instructions将CKAN安装到virtualenv中,然后进行破解在CKAN上。

如果我正确理解virtualenvwrapper文档,最好使用mkproject ckan命令,以便在WORKON_HOME(默认为~/.virtualenvs)中隐藏一个名为ckan的virtualenv,并且在您的计算机中一个名为ckan的漂亮整洁的项目目录PROJECT_HOME(我机器上的~/Projects)仅包含您实际正在使用的源代码存储库,并且不会与进入virtualenv的所有其他文件杂乱无章。但是针对virtualenvwrapper的项目管理文档不是很详细。

如果我执行mkproject ckan,然后继续按照ckan源代码安装说明进行操作,则pip install --ignore-installed -e git+https://github.com/okfn/ckan.git#egg=ckan命令将ckan git repo安装在~/.virtualenvs/ckan/src/ckan而不是我想要的~/Projects/ckan目录中。如何将ckan git repo放入我的项目目录中?

我也想作为同一个virtualenvwrapper项目的一部分,攻克不同的CKAN扩展(其中一些在各自独立的git repos中),因此我也希望virtualenvwrapper也将其安装在~/Projects/ckan中。

最佳答案

我正在回答我自己的问题,以下内容对我来说似乎已经足够有效,但是我认为可以通过自动执行所有手动进行的git克隆和pip安装等操作来改善此答案...

诀窍是稍微偏离ckan源代码的安装说明,然后“手动”将git clone ckan移到项目目录中,那么您需要执行一个附加的python setup.py develop命令将ckan安装到您的virtualenv中(pip install命令将已经处理了)这个给你):

> mkproject ckan


这将在WORKON_HOME/ckan中创建一个ckan virtualenv,并在PROJECT_HOME/ckan中创建一个ckan项目目录,激活virtualenv,并将cd插入项目目录。到目前为止,virtualenv和项目目录均为“空”,尚无任何地方安装ckan。现在克隆ckan git repo:

(ckan)~/Projects/ckan> git clone [email protected]:okfn/ckan.git


这会将git repo复制到~/Projects/ckan/ckan。此时,ckan命令仍然无法使用,您已经克隆了git repo,但仍未将ckan安装到virtualenv中:

(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并将cd激活到ckan项目目录,然后进行破解。

如果您还想破解CKAN扩展(例如ckanext-harvest),则可以将该git repo与ckan git repo一起安装到ckan项目目录中:

(ckan)~/Projects/ckan> git clone [email protected]:okfn/ckanext-harvest.git
(ckan)~/Projects/ckan> cd ckanext-harvest
(ckan)~/Projects/ckan/ckanext-harvest> python setup.py develop

关于python - 如何使用virtualenvwrapper进行ckan开发?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11066711/

10-11 15:14