Skip to content

Commit f21deaf

Browse files
authored
Merge pull request #6511 from Darshangouda55/fix-docs-path-attribute
clarify path dependency default install behavior
2 parents e6b132b + c6e3e74 commit f21deaf

File tree

1 file changed

+36
-4
lines changed

1 file changed

+36
-4
lines changed

docs/pipfile.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ sentry-sdk = {version = ">=1.0.0", extras = ["flask"]}
7979
flask-login = {git = "https://github.com/maxcountryman/flask-login.git", ref = "master"}
8080

8181
# Local paths
82-
my-package = {path = "./path/to/local/package", editable = true}
82+
my-package = { path = "./path/to/local/package" }
8383

8484
# Platform-specific dependencies
8585
gunicorn = {version = "*", markers = "sys_platform == 'linux'"}
@@ -89,6 +89,28 @@ waitress = {version = "*", markers = "sys_platform == 'win32'"}
8989
private-package = {version = "*", index = "private"}
9090
```
9191

92+
Local path dependencies use the `path` attribute.
93+
94+
By default, Pipenv performs a standard (non-editable) installation:
95+
96+
```toml
97+
[packages]
98+
my-package = { path = "./path/to/local/package" }
99+
```
100+
101+
To install the package in development (editable) mode:
102+
103+
```toml
104+
[packages]
105+
my-package = { path = "./path/to/local/package", editable = true }
106+
```
107+
108+
Editable installs mirror `pip install -e` behavior and reflect changes to
109+
the source immediately.
110+
111+
> Note: Older Pipenv versions implicitly treated path dependencies as
112+
> editable. Newer versions require `editable = true` to be explicit.
113+
92114
### Development Packages Section
93115

94116
The `[dev-packages]` section lists dependencies needed only for development:
@@ -314,19 +336,29 @@ flask-login = {git = "https://github.com/maxcountryman/flask-login.git", ref = "
314336
custom-package = {git = "https://github.com/user/repo.git", editable = true}
315337
```
316338

317-
The `ref` parameter can be a branch name, tag, or commit hash.
318-
319339
### Local Dependencies
320340

321341
For local development of packages:
322342

323343
```toml
324344
[packages]
325-
my-package = {path = "./path/to/package", editable = true}
345+
my-package = { path = "./path/to/package" }
346+
```
347+
348+
This performs a regular (non-editable) installation.
349+
350+
To install in development mode:
351+
352+
```toml
353+
[packages]
354+
my-package = { path = "./path/to/package", editable = true }
326355
```
327356

328357
The `editable` flag installs the package in development mode, so changes to the source code are immediately reflected.
329358

359+
> If `editable` is omitted, Pipenv will perform a standard installation
360+
> instead of a development install.
361+
330362
## Troubleshooting
331363

332364
### Lock File Hash Mismatch

0 commit comments

Comments
 (0)