File: quick_start.md

package info (click to toggle)
pipenv 2026.0.3%2Bds-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 16,272 kB
  • sloc: python: 125,740; makefile: 197; javascript: 133; sh: 72
file content (338 lines) | stat: -rw-r--r-- 5,800 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
# Pipenv Quick Start Guide

This guide will help you get started with Pipenv quickly. It covers installation, basic usage, and common workflows to help you become productive with Pipenv in minutes.

## Installation

### Install Pipenv

```bash
# Install for the current user
$ pip install --user pipenv
```

Verify the installation:

```bash
$ pipenv --version
pipenv, version 2024.0.0
```

If the command isn't found, you may need to add the user site-packages bin directory to your PATH. See the [Installation](installation.md) page for detailed instructions.

## Creating a New Project

### Initialize a New Project

```bash
# Create a project directory
$ mkdir my_project
$ cd my_project

# Initialize a Pipenv environment
$ pipenv install
```

This creates a `Pipfile` in your project directory and a virtual environment for your project.

### Specify Python Version

To use a specific Python version:

```bash
$ pipenv --python 3.10
```

## Managing Dependencies

### Installing Packages

```bash
# Install a package
$ pipenv install requests

# Install a package with version constraint
$ pipenv install "django>=4.0.0"

# Install a development dependency
$ pipenv install pytest --dev
```

### Viewing Installed Packages

```bash
# Show dependency graph
$ pipenv graph

# List installed packages
$ pipenv run pip list
```

### Uninstalling Packages

```bash
# Uninstall a package
$ pipenv uninstall requests
```

## Using Your Environment

### Activating the Environment

```bash
# Activate the virtual environment
$ pipenv shell

# Now you're in the virtual environment
(my_project) $ python --version
Python 3.10.0

# Exit the environment
(my_project) $ exit
```

### Running Commands

Without activating the environment:

```bash
# Run a Python script
$ pipenv run python app.py

# Run a command
$ pipenv run pytest
```

## Working with Pipfiles

### Understanding the Pipfile

After installing packages, your `Pipfile` will look something like this:

```toml
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"

[packages]
requests = "*"
django = ">=4.0.0"

[dev-packages]
pytest = "*"

[requires]
python_version = "3.10"
```

### Locking Dependencies

Generate a `Pipfile.lock` with exact versions and hashes:

```bash
$ pipenv lock
```

### Installing from Pipfile.lock

Install the exact versions specified in `Pipfile.lock`:

```bash
$ pipenv sync
```

This is useful for deployment or when you want to ensure exact package versions.

## Common Workflows

### Development Workflow

```bash
# Clone a repository
$ git clone https://github.com/example/project.git
$ cd project

# Install dependencies including development packages
$ pipenv install --dev

# Activate environment
$ pipenv shell

# Run tests
$ pytest

# Add a new dependency
$ pipenv install new-package
```

### Deployment Workflow

```bash
# Ensure Pipfile.lock is up-to-date
$ pipenv lock

# Install only production dependencies
$ pipenv install --deploy
```

### Checking for Security Vulnerabilities

```bash
# Scan for security vulnerabilities
$ pipenv scan
```

## Environment Variables

### Using .env Files

Create a `.env` file in your project directory:

```
# .env
DEBUG=True
API_KEY=your_secret_key
```

Pipenv automatically loads these variables when you use `pipenv shell` or `pipenv run`.

Access them in your Python code:

```python
import os

debug = os.environ.get("DEBUG")
api_key = os.environ.get("API_KEY")
```

## Project Examples

### Web Application with Django

```bash
# Create project
$ mkdir django_project
$ cd django_project

# Initialize with Python 3.10
$ pipenv --python 3.10

# Install Django
$ pipenv install django

# Create Django project
$ pipenv run django-admin startproject mysite .

# Run development server
$ pipenv run python manage.py runserver
```

### Data Science Project

```bash
# Create project
$ mkdir data_analysis
$ cd data_analysis

# Install data science packages
$ pipenv install numpy pandas matplotlib jupyter

# Start Jupyter notebook
$ pipenv run jupyter notebook
```

### CLI Tool

```bash
# Create project
$ mkdir cli_tool
$ cd cli_tool

# Install dependencies
$ pipenv install click

# Create main.py
$ echo 'import click

@click.command()
@click.option("--name", default="World", help="Who to greet")
def hello(name):
    """Simple CLI tool that greets you."""
    click.echo(f"Hello, {name}!")

if __name__ == "__main__":
    hello()' > main.py

# Run the tool
$ pipenv run python main.py --name Friend
Hello, Friend!
```

## Tips and Tricks

### Locate the Virtual Environment

```bash
# Show virtualenv location
$ pipenv --venv
/home/user/.local/share/virtualenvs/my_project-a1b2c3d4
```

### Locate the Python Interpreter

```bash
# Show Python interpreter path
$ pipenv --py
/home/user/.local/share/virtualenvs/my_project-a1b2c3d4/bin/python
```

### Generate requirements.txt

```bash
# Generate requirements.txt from Pipfile.lock
$ pipenv requirements > requirements.txt
```

### Store Virtualenv in Project Directory

```bash
# Set environment variable
$ export PIPENV_VENV_IN_PROJECT=1

# Install dependencies
$ pipenv install

# The virtualenv is now in .venv in your project directory
```

### Custom Script Shortcuts

Add custom scripts to your Pipfile:

```toml
[scripts]
start = "python app.py"
test = "pytest"
lint = "flake8"
```

Run them with:

```bash
$ pipenv run start
$ pipenv run test
```

## Next Steps

Now that you're familiar with the basics of Pipenv, you can explore more advanced topics:

- [Detailed Commands Reference](commands.md)
- [Pipfile Format](pipfile.md)
- [Best Practices](best_practices.md)
- [Workflows](workflows.md)
- [Configuration](configuration.md)
- [Troubleshooting](troubleshooting.md)

For a complete reference of all Pipenv features, check out the [full documentation](index.md).