In short
假设已正确安装了pyverse和graph viz,您需要做的就是将项目打包,并在每个文件夹中添加一些emplty_init__py文件.或者,您必须在命令行中手动添加所有模块.
More details - step by step
关于错误信息
假设一切都安装正确,您的命令行应该会给出警告消息,这是绝对正常的:
本机不支持PNG格式.PYREVERS将try 生成
它使用了Graphviz...
怎么了?
该图将保持为空,因为您告诉pyverse分析单个文件,而该文件中没有定义任何类.如果您手动添加要分析的不同模块:
pyreverse -o png -p ShoppingCart mainService.py Entity\Apple.py Enum\ProductType.py Entity\Orange.py Entity\ShoppingCart.py
然后,您将很好地获得一个基本的图表:
如果你预先添加选项-AS
,你将递归地获得项目中的所有祖先和所有关联的类:
如何打包你的项目?
这很麻烦.幸运的是,打包您的项目几乎没有遗漏.关于完整的推荐信,你可能会看起来像here岁.但简而言之,在项目文件夹和存储模块的每个子文件夹中添加一个空的__init__.py
文件就足够了:
.
├── Entity
│ ├── __init__.py <<===== add this empty file
│ ├── Apple.py
│ ├── Buy1Get1FreeApple.py
│ ├── Buy3OnPriceOf2Orange.py
│ ├── Offer.py
│ ├── Orange.py
│ ├── Product.py
│ └── ShoppingCart.py
├── Enum
│ ├── __init__.py <<===== add this empty file
│ └── ProductType.py
├── __init__.py <<===== add this empty file
└── mainService.py
然后,您将能够运行更简单的命令行:
pyreverse -AS -o png -p ShoppingCart .
并得到这张巨大的图表:
该打包帮助python和pyverse理解这些不是单独分析的文件,而是在由子包等组成的包的上下文中分析.