【问题标题】:How to use virtualenvwrapper for ckan development?如何使用 virtualenvwrapper 进行 ckan 开发?
【发布时间】:2012-06-16 20:15:58
【问题描述】:

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

如果我正确理解了 virtualenvwrapper 文档,最好使用mkproject ckan 命令,这样你的WORKON_HOME 中就会有一个名为ckan 的virtualenv(默认为~/.virtualenvs)和一个漂亮、整洁的项目目录,名为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 在我的项目目录中?

我还想破解不同的 CKAN 扩展(其中一些来自他们自己单独的 git repos)作为同一个 virtualenvwrapper 项目的一部分,所以我希望 virtualenvwrapper 也将它们安装在 ~/Projects/ckan 中。

【问题讨论】:

    标签: python virtualenv virtualenvwrapper ckan


    【解决方案1】:

    我正在回答我自己的问题,以下似乎对我来说已经足够好了,但我认为可以通过自动化我手动执行的所有 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 git@github.com:okfn/ckan.git
    

    这会将 git 存储库克隆到 ~/Projects/ckan/ckan。此时 ckan 命令仍然不起作用,你已经克隆了 git repo 但你还没有将 ckan 安装到你的 virtualenv 中:

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

    ckan 命令 still 在您将 ckan 的依赖项安装到您的 virtualenv 之前将无法工作:

    (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 项目目录中,与 ckan git repo 一起:

    (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
    

    【讨论】:

      猜你喜欢
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多