2012-02-22 79 views
2

我使用PIP安装从一个Git仓库包:“无法从安装目录下安装脚本一致的路径”

pip install -e git+git://github.com/knipknap/[email protected]#egg=SpiffWorkflow-dev 

回购被克隆没有问题,但安装失败此消息:

Running setup.py egg_info for package SpiffWorkflow 
Installing collected packages: SpiffWorkflow 
Running setup.py develop for SpiffWorkflow 
error: ("Can't get a consistent path to setup script from installation 
    directory", '/', '/home/fcorreia/venvs/myproj/src/spiffworkflow') 

我试图考虑看看到项目的setup.py,但不是很成功......你知道吗?

回答

1

这是因为标志-e的意思是“编辑”,这是一样的做python setup.py develop,创建从<PACKAGE_NAME_LOWERCASE>一个符号链接到您的site-packages目录,而不是运行常见的安装。

看着SpiffWorkflow的setup.py我能看到的问题依赖:不是spiffworkflow

srcdir = join(dirname(__file__), 'src') 
setup(..., 
     package_dir  = {'': srcdir}) 

上面说的是包内容位于src,(什么开发模式预计)。

你可以只下降了-e标志,快乐生活:

pip install git+git://github.com/knipknap/[email protected]#egg=SpiffWorkflow-dev 

参考文献:

+0

在情况下,我想保持''-e'',这样我可以指出我的SpiffWorkflow的分支,并做修改直接在工作副本,你会说什么是最好的解决办法?你点到第一参考让我觉得,这个问题可以通过增加''srcdir''到Python路径来解决,而且它也许可以做作为setup.py第一行动之一。这似乎不是一个非常优雅的解决方案,但... – 2012-02-29 13:08:24

+1

我不认为加入'srcdir'到Python路径会的工作,因为当你做'进口spiffworkflow'蟒蛇查找名为'spiffworkflow'在PYTHONPATH目录,但是会存在什么是名字'src'。我不知道解决这个问题,我认为这是一种“反模式”有关打包命名的包目录到任何其他名字,但'设置(名称= XXX)' - 也许一个拉请求作者会很好。让我知道你是否找到更好的解决方案。 – 2012-03-02 13:02:32

+0

这依然不动?我运行的setuptools(35.0.2),但我仍然得到这个错误。离开src之后,问题就解决了 – 2017-11-24 10:56:00