Django:无法迁移从源代码安装的应用程序



我设置了一个虚拟环境来安装。所有这些我都在虚拟环境中运行:

$ hg clone https://bitbucket.org/tonioo/cmsplugin-poll
$ cd cmsplugin-poll
$ python setup.py install

这是我得到的输出:http://pastebin.com/XCX4bUiA。

$ cd project-dir/
$ python manage.py migrate
OSError: [Errno 20] Not a directory: '$VIRTUAL_ENV/local/lib/python2.7/site-packages/cmsplugin_poll-0.3-py2.7.egg/cmsplugin_poll/migrations'

正如预期的那样,cmsplugin_poll-0.3-py2.7.egg 是一个 egg,而不是一个目录。如果我通过 pip 使用 install cmsplugin-poll,这工作正常,但我想修复此包中的某些内容。

我已经尝试了以下方法:

  • 删除并重新创建虚拟环境
  • 以 root 身份安装(我知道 - 这无济于事)
  • site-packages目录中rm -r cmsplugin_poll*
  • 删除并重新下载存储库。
  • 升级一切,包括点。

有什么想法吗?提前谢谢你。

如果您要处理包源代码,那么您不应该尝试将其与 Python 站点一起安装——这会将源代码复制到解释器的站点文件夹中,但根据安装脚本的配置方式,可能会丢弃基本要素,包括测试源和其他与在其他项目中将其用作贡献包无关的包私有位。

相反,您应该尝试执行python setup.py develop。源将仅作为包路径条目注册到您的站点,但你仍可完全访问随包分发的任何内容。

在关闭可编辑模式的情况下安装软件包时出现问题:

pip install ...python setup.py install

您可以安装具有可编辑模式的软件包(如前所述):

pip install -e .python setup.py develop

或者,您可以向 setup.py 添加一些其他参数:

setup(
    ...,
    include_package_data=True,
    packages=find_packages(),
    zip_safe=False,
)

应用这些修改后,您将能够正确安装软件包。

最新更新