我在自己的文件夹中有许多不同的迷你项目/功能。我通常会为每个文件夹创建一个virtualenv。我现在要开始一个更大的项目,它将使用这些不同项目的几个方面。
示例Windows文件结构可能是:
Python_Projects
Functionality xyz
several python files
Functionality abc
several python files
New Project
requires functionality xyz and abc
是否可以将所有不同的功能保存在自己的文件夹中,只需在需要时将相关的python文件/功能导入到新项目中?
这是推荐的方法,还是将相关的python文件/功能复制到新项目中会更好。
非常感谢。
答案 0 :(得分:0)
您可以为每个项目创建一个包,然后将这些包安装到新项目的virtualenv
中。创建包需要将install.py
脚本放在包目录的顶层。 This page详细介绍了安装脚本可以执行的各种操作,但基本的内容如下所示:
from distutils.core import setup
setup(name='xyz',
py_modules=['xyz']
)
假设您按如下方式嵌套项目:
Python_Projects
Functionality xyz
setup.py
xyz
__init__.py
several python files
Functionality abc
setup.py
abc
__init__.py
several python files
如果您还没有__init__.py
files,则可以创建空白。
从新项目的virtualenv
开始,您可以运行
pip install -e ../abc ../xyz
-e
标志表示将创建abc
和xyz
包的符号链接,因此您可以继续编辑它们,而无需每次都重新安装包。