# Installing Packages

The process to install package depends on the Python environment you are using.

There are two possibilities: pip, conda and within Jupyter Hub. If you are using Anaconda (Navigator), use conda. pip will install for all environments; conda will install for (activated) conda environment only. See 7 for details on Python environments.

Generally, always use conda.

conda install <package>


# Terminal in Jupyter

Terminal commands can be passed within the Jupyter notebook. Any command starting with ! would be run like a terminal command within the Jupyter notebook.

# list all files in current directory
!ls

# delete all files in the current folder
!rm -r *


# Debugging in the Current State

Many a time our code crashes and we would like to investigate the environment at that moment. Running %debug in Jupyter Notebook immediately after the code crashes would open a debugging environment where you can see variables' values, etc.

# some code that crashed
x = some_function(y)

# in the next Jupyter cell, run this command
%debug


# Printing

There are two methods: print() and pprint(). They both serve the save cause but pprint() is better at displaying complex data structures such as list of lists or JSON files.

It is worthwhile to mention f-strings. They are usually more compact than writing full print statements. Furthermore, if you want to print value of a variable, they’re really short.

# enclose the variable in curly braces
print(f"Value of x is {x}")

# if you want to just print the value of, use {x=}
print(f"{x=}")


# Adding Rows

It is more efficient to create a list of rows first and then convert it to a pandas data frame. As qmeeus said on SO,

Pandas dataframes do not work as a list, they are much more complex data structures and appending is not really considered the best approach.

data = []
for row in some_function_that_yields_data():
data.append(row)

# either this
df = pd.DataFrame(data)

# or this
df = pd.concat([results, df], axis=0).reset_index(drop=True)


# Function

## Getting Help

To see details of a function in a Jupyter notebook, use ?? operator. It will show you the body and the associated documentation (if available).

??my_function()


## Modify Inplace

When you modify a value passed to a function, it modifies that object inplace. For example, the following function would change the value.

# Python Environments

• See Managing environments for details. Use conda for managing environments and packages.

• Generally, avoid messing up with base environment. Create a new one and use that.

• Once you create a new environment, remember to refresh Visual Studio Code’s list of Python interpreters.

## List all environments

conda env list


Here is how it looks for me.

(base) harshvardhan@harshmac17 ~ % conda env list
# conda environments:
#
base                  *  /Users/harshvardhan/opt/anaconda3
env_oct22                /Users/harshvardhan/opt/anaconda3/envs/env_oct22


## Create an environment

This will create an environment called new_env.

conda create --name new_env


Conda will ask you for permission proceed ([y]/n)?. Type y.

## Activate an environment

This will activate the environment called new_env. Remember that you can list all environment with conda env list.

conda activate new_env


VS Code Note: By default, the Python extension looks for and uses the first Python interpreter it finds in the system path. To select a specific environment, use the Python: Select Interpreter command from the Command Palette (⇧⌘P).

## Clone an environment

This will create a new environment new_env with the exact same packages as old_env.

conda create --clone old_env --name new_env


## Remove an environment

This will remove a Python environment called old_env.

conda env remove --name old_env


## List all packages

This will list all packages in the current environment.

conda list


## Update all packages

This will update all packages in the activated Python environment. See above to list environments and select an environment. Once you are in the activated environment, execute the following.

conda update --all


## Using pip in Conda

This is not recommended. If you are feeling adventurous, give it a try! See Using pip in an environment. Also see a note on dependency conflicts.

Posted on:
February 8, 2022
Length:
4 minute read, 659 words
Categories:
Python
See Also: