You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/sphinx/pypi-dependencies.md
+64Lines changed: 64 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -130,6 +130,70 @@ Any 'extras' specified in the requirements lock file will be automatically added
130
130
as transitive dependencies of the package. In the example above, you'd just put
131
131
`requirement("useful_dep")`.
132
132
133
+
### Packaging cycles
134
+
135
+
Sometimes PyPi packages contain dependency cycles -- for instance `sphinx`
136
+
depends on `sphinxcontrib-serializinghtml`. When using them as `requirement()`s,
137
+
ala
138
+
139
+
```
140
+
py_binary(
141
+
name = "doctool",
142
+
...
143
+
deps = [
144
+
requirement("sphinx"),
145
+
]
146
+
)
147
+
```
148
+
149
+
Bazel will protest because it doesn't support cycles in the build graph --
150
+
151
+
```
152
+
ERROR: .../external/pypi_sphinxcontrib_serializinghtml/BUILD.bazel:44:6: in alias rule @pypi_sphinxcontrib_serializinghtml//:pkg: cycle in dependency graph:
0 commit comments