Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit d25842f

Browse filesBrowse files
authored
fix: Update MAC_SETUP to describe using builtin venv (GoogleCloudPlatform#2711)
* fix: Update MAC_SETUP to describe using builtin venv * fix: typo * fix: depth of region in MAC_SETUP * fix: only show using venv * fix: add section on nox * fix: add back the pyenv-virtualenv instructions * fix: don't mention how to run venv twice * fix: include how to install nox * Remove nox section from mac-setup * fix: put link on one line * fix: reduce line length
1 parent ec2cb4b commit d25842f
Copy full SHA for d25842f

File tree

Expand file treeCollapse file tree

1 file changed

+70
-25
lines changed
Filter options
Expand file treeCollapse file tree

1 file changed

+70
-25
lines changed

‎MAC_SETUP.md

Copy file name to clipboardExpand all lines: MAC_SETUP.md
+70-25Lines changed: 70 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ test their code.
1212

1313
1. Install [homebrew](https://brew.sh/) if you do not already have it.
1414

15-
**Note:** If you are running Catalina (MacOS 10.15.x), ensure that you have a
16-
compatible version of Homebrew (2.1.13 or later). Running `brew update` on
15+
**Note:** If you are running Catalina (MacOS 10.15.x), ensure that you have
16+
a compatible version of Homebrew (2.1.13 or later). Running `brew update` on
1717
Catalina does not always result in a compatible version, so uninstall and
18-
reinstall homebrew, if necessary.
18+
reinstall homebrew, if necessary
1919

2020
## Installing pyenv and pyenv-virtualenv
2121

@@ -51,7 +51,7 @@ test their code.
5151
## Installing multiple Python versions
5252

5353

54-
1. See the available Python versions with
54+
1. See the available Python versions with [pyenv](https://github.com/pyenv/pyenv).
5555

5656
```console
5757
pyenv install --list
@@ -88,6 +88,10 @@ test their code.
8888
```console
8989
$ pyenv install 3.7.6
9090
```
91+
* 3.8.1 (latest 3.8.x release)
92+
```console
93+
$ pyenv install 3.8.1
94+
```
9195

9296
1. After you have installed a python version through pyenv,
9397
verify that you are now using the pyenv Python shim.
@@ -97,35 +101,76 @@ test their code.
97101
~/.pyenv/shims/python
98102
```
99103

104+
## Managing python versions using Pyenv global
105+
Pyenv allows you to configure the priority order for your python installs.
100106

101-
## Using pyenv and pyenv-virtualenv to manage your Python versions
107+
```
108+
pyenv global 3.8.1 3.7.6 3.6.10 3.5.9 2.7.17
109+
```
102110
103-
1. Change to the desired source directory.
111+
This will make python and python3 point to Python 3.8.1. python2 will use
112+
2.7.17. You can also further specify versions, such as python3.6 to use that
113+
version.
104114
105-
```console
106-
cd ~/src/python-docs-samples
107-
```
115+
## Python virtual environments
116+
Using [Virtual Environments](https://docs.python.org/3/library/venv.html)
117+
prevents inadvertent modifications to your global python install. Once
118+
created and sourced, calls to `python` will use this virtual environment, not
119+
a global python install. Each virtual environment can have its own set of
120+
packages that can be different from others.
108121
109-
1. Create a virtualenv using `pyenv virtualenv`.
110122
111-
```console
112-
pyenv virtualenv 3.7.6 python-docs-samples
113-
```
123+
### Using Python 3+ venv
124+
Python has builtin support for creating virtual environments, accessible by
125+
running the `venv` module.
114126
115-
This creates a virtualenv folder within `~/.pyenv/versions/`.
127+
```
128+
cd python-docs-samples
129+
python -m venv [venv-name]
130+
source [venv-name]/bin/activate
131+
```
116132
117-
1. Set the local Python version(s) with `pyenv local`
133+
Typically you will name the venv `venv`, or `venv38` for a python 3.8 venv.
118134
119-
```console
120-
# pyenv local [name of virtualenv] [list of python versions to use]
121-
pyenv local python-docs-samples 3.6.10 3.7.6 3.5.9 2.7.17
122-
```
123135
124-
1. Now, when you `cd` into the source directory or a subdirectory within it,
125-
pyenv will make your virtualenv the default Python. Since you specified
126-
more than one version, it will also add binaries like `python36` and
127-
`python27` to your PATH, which nox uses when picking Python interpreters.
136+
### Using pyenv-virtualenv
137+
You can also use an extension for pyenv that will assist in managing virtual
138+
environments. This allows you to use `pyenv local` to automatically use the
139+
created virtual environment. You can install this by running
140+
`$ brew install pyenv-virtualenv`
141+
142+
1. Change to the desired source directory.
128143
129-
1. Add `.python-version` to your [global gitignore
130-
file](https://help.github.com/articles/ignoring-files/#create-a-global-gitignore),
144+
```console
145+
cd ~/src/python-docs-samples
146+
```
147+
148+
1. Create a virtualenv for python 3.8.1 using `pyenv virtualenv`.
149+
150+
```console
151+
pyenv virtualenv 3.8.1 python-docs-samples
152+
```
153+
154+
This creates a virtualenv folder within `~/.pyenv/versions/`.
155+
156+
1. Set the local Python version(s) with `pyenv local`
157+
158+
```console
159+
# pyenv local [name of virtualenv] [list of python versions to use]
160+
pyenv local python-docs-samples 3.8.1 3.7.6 3.6.10 3.5.9 2.7.17
161+
```
162+
163+
1. Now, when you `cd` into the source directory or a subdirectory within it,
164+
pyenv will make your virtualenv the default Python. Since you specified
165+
more than one version, it will also add binaries like `python36` and
166+
`python27` to your PATH, which
167+
[nox](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/AUTHORING_GUIDE.md#using-nox)
168+
uses when picking Python interpreters.
169+
170+
1. Add `.python-version` to your
171+
[global gitignore file](https://help.github.com/articles/ignoring-files/#create-a-global-gitignore),
131172
so it won't be committed into the repository.
173+
174+
## More on authoring samples
175+
If you are looking for more information on how to author samples, please view
176+
the [Authoring Guide](https://github.com/GoogleCloudPlatform/python-docs-samples/blob/master/AUTHORING_GUIDE.md)

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.