我怎样才能让setuptools的(或分发)从本地文件系统安装包(How can I make se

2019-08-01 16:12发布

是否可以指定(编辑)来源依赖setup.py已知驻留在本地文件系统上?

请看下面的目录结构,所有这些都住在一个独立的VCS库:

projects
  utils
    setup.py
    ...
  app1
     setup.py
     ... # app1 files depend on ../utils
  app2
     setup.py
     ... # app2 files depend on ../utils

考虑下面的命令:

cd projects
mkvirtualenv app1
pip install -e app1

我想拥有所有APP1安装了依赖性,包括“utils的”,这是一个“编辑”的依赖。 同样,如果我做了APP 2相同。

我试着玩的所有不同的组合file://...网址install_requiresdependency_links无济于事。 我想使用依赖链接URL像src+file://../utils ,它会告诉setuptools的是该包的源文件系统就在这个相对路径。 有没有办法做到这一点?

Answer 1:

我其中我需要依赖于模块同级文件夹中的相同问题。 我能够在跌跌撞撞之后找到一个解决方案https://caremad.io/2013/07/setup-vs-requirement/

我结束了requirements.txt专指我想要的文件,然后安装一切

pip install -r requirements.txt

requirements.txt

-e ../utils                                                                                                                                                                    
-e .

而setup.py有我所有的依赖性,包括utils的。 当PIP尝试安装APP1本身,它认识到utils的依赖关系已经被填补,所以经过它,而安装的其他要求。



Answer 2:

当我想用一组相互关联的项目工作,我安装了所有的人都用/setup.py develop

如果我错误或更高版本我想打一个点安装模块可编辑的,我克隆源,并做了python setup.py develop上太,取代现有的一个。

只是为了得到肯定,我抹去的virtualenv中的站点包的参考和包本身。



文章来源: How can I make setuptools (or distribute) install a package from the local file system