From 9ba699fdf0100426b192451b0e5b8aec17e061c1 Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Thu, 2 Jan 2020 00:08:03 -0500 Subject: [PATCH 01/10] first try --- .devcontainer/Dockerfile | 51 +++++++++++++++++++++++++++++++++ .devcontainer/devcontainer.json | 31 ++++++++++++++++++++ .devcontainer/noop.txt | 3 ++ 3 files changed, 85 insertions(+) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/noop.txt diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000000000..0eb9225b96c42 --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,51 @@ +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- + +FROM continuumio/miniconda3 + +# Avoid warnings by switching to noninteractive +ENV DEBIAN_FRONTEND=noninteractive + +# This Dockerfile adds a non-root user with sudo access. Use the "remoteUser" +# property in devcontainer.json to use it. On Linux, the container user's GID/UIDs +# will be updated to match your local UID/GID (when using the dockerFile property). +# See https://aka.ms/vscode-remote/containers/non-root-user for details. +ARG USERNAME=vscode +ARG USER_UID=1000 +ARG USER_GID=$USER_UID + +# Copy environment.yml (if found) to a temp locaition so we update the environment. Also +# copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists. +COPY environment.yml* .devcontainer/noop.txt /tmp/conda-tmp/ + +# Configure apt and install packages +RUN apt-get update \ + && apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \ + # + # Verify git, process tools, lsb-release (common in install instructions for CLIs) installed + && apt-get -y install git iproute2 procps iproute2 lsb-release \ + # + # Install pylint + && /opt/conda/bin/pip install pylint \ + # + # Update Python environment based on environment.yml (if present) + && if [ -f "/tmp/conda-tmp/environment.yml" ]; then /opt/conda/bin/conda env update -n base -f /tmp/conda-tmp/environment.yml; fi \ + && rm -rf /tmp/conda-tmp \ + # + # Create a non-root user to use if preferred - see https://aka.ms/vscode-remote/containers/non-root-user. + # && groupadd --gid $USER_GID $USERNAME \ + # && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \ + # [Optional] Add sudo support for the non-root user + # && apt-get install -y sudo \ + # && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\ + # && chmod 0440 /etc/sudoers.d/$USERNAME \ + # + # Clean up + && apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* + +# Switch back to dialog for any ad-hoc use of apt-get +ENV DEBIAN_FRONTEND=dialog diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000000000..01daa2386a96c --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,31 @@ +// For format details, see https://aka.ms/vscode-remote/devcontainer.json or the definition README at +// https://github.com/microsoft/vscode-dev-containers/tree/master/containers/python-3-miniconda +{ + "name": "Python 3 - Miniconda", + "context": "..", + "dockerFile": "Dockerfile", + + // Use 'settings' to set *default* container specific settings.json values on container create. + // You can edit these settings after create using File > Preferences > Settings > Remote. + "settings": { + "terminal.integrated.shell.linux": "/bin/bash", + "python.pythonPath": "/opt/conda/bin/python", + "python.linting.enabled": true, + "python.linting.pylintEnabled": true, + "python.linting.pylintPath": "/opt/conda/bin/pylint" + }, + + // Uncomment the next line to run commands after the container is created. + // "postCreateCommand": "python --version", + + // Uncomment the next line to have VS Code connect as an existing non-root user in the container. + // On Linux, by default, the container user's UID/GID will be updated to match your local user. See + // https://aka.ms/vscode-remote/containers/non-root for details on adding a non-root user if none exist. + // "remoteUser": "vscode", + + // Add the IDs of extensions you want installed when the container is created in the array below. + "extensions": [ + "ms-python.python", + "ms-vscode.cpptools" + ] +} diff --git a/.devcontainer/noop.txt b/.devcontainer/noop.txt new file mode 100644 index 0000000000000..abee1954102c0 --- /dev/null +++ b/.devcontainer/noop.txt @@ -0,0 +1,3 @@ +This file is copied into the container along with environment.yml* from the +parent folder. This is done to prevent the Dockerfile COPY instruction from +failing if no environment.yml is found. \ No newline at end of file From db621911b229190ec3f6f01d2967ff3e2177a7fc Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Thu, 2 Jan 2020 19:27:05 -0500 Subject: [PATCH 02/10] progress, messed with conda envs, moved to root folder --- .../devcontainer.json => .devcontainer.json | 9 +--- .devcontainer/Dockerfile | 51 ------------------- .devcontainer/noop.txt | 3 -- Dockerfile | 51 +++++++++++++++++++ 4 files changed, 53 insertions(+), 61 deletions(-) rename .devcontainer/devcontainer.json => .devcontainer.json (71%) delete mode 100644 .devcontainer/Dockerfile delete mode 100644 .devcontainer/noop.txt create mode 100644 Dockerfile diff --git a/.devcontainer/devcontainer.json b/.devcontainer.json similarity index 71% rename from .devcontainer/devcontainer.json rename to .devcontainer.json index 01daa2386a96c..9927276a4dfe7 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer.json @@ -1,8 +1,8 @@ // For format details, see https://aka.ms/vscode-remote/devcontainer.json or the definition README at // https://github.com/microsoft/vscode-dev-containers/tree/master/containers/python-3-miniconda { - "name": "Python 3 - Miniconda", - "context": "..", + "name": "Pandas", + "context": ".", "dockerFile": "Dockerfile", // Use 'settings' to set *default* container specific settings.json values on container create. @@ -18,11 +18,6 @@ // Uncomment the next line to run commands after the container is created. // "postCreateCommand": "python --version", - // Uncomment the next line to have VS Code connect as an existing non-root user in the container. - // On Linux, by default, the container user's UID/GID will be updated to match your local user. See - // https://aka.ms/vscode-remote/containers/non-root for details on adding a non-root user if none exist. - // "remoteUser": "vscode", - // Add the IDs of extensions you want installed when the container is created in the array below. "extensions": [ "ms-python.python", diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile deleted file mode 100644 index 0eb9225b96c42..0000000000000 --- a/.devcontainer/Dockerfile +++ /dev/null @@ -1,51 +0,0 @@ -#------------------------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. -#------------------------------------------------------------------------------------------------------------- - -FROM continuumio/miniconda3 - -# Avoid warnings by switching to noninteractive -ENV DEBIAN_FRONTEND=noninteractive - -# This Dockerfile adds a non-root user with sudo access. Use the "remoteUser" -# property in devcontainer.json to use it. On Linux, the container user's GID/UIDs -# will be updated to match your local UID/GID (when using the dockerFile property). -# See https://aka.ms/vscode-remote/containers/non-root-user for details. -ARG USERNAME=vscode -ARG USER_UID=1000 -ARG USER_GID=$USER_UID - -# Copy environment.yml (if found) to a temp locaition so we update the environment. Also -# copy "noop.txt" so the COPY instruction does not fail if no environment.yml exists. -COPY environment.yml* .devcontainer/noop.txt /tmp/conda-tmp/ - -# Configure apt and install packages -RUN apt-get update \ - && apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \ - # - # Verify git, process tools, lsb-release (common in install instructions for CLIs) installed - && apt-get -y install git iproute2 procps iproute2 lsb-release \ - # - # Install pylint - && /opt/conda/bin/pip install pylint \ - # - # Update Python environment based on environment.yml (if present) - && if [ -f "/tmp/conda-tmp/environment.yml" ]; then /opt/conda/bin/conda env update -n base -f /tmp/conda-tmp/environment.yml; fi \ - && rm -rf /tmp/conda-tmp \ - # - # Create a non-root user to use if preferred - see https://aka.ms/vscode-remote/containers/non-root-user. - # && groupadd --gid $USER_GID $USERNAME \ - # && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \ - # [Optional] Add sudo support for the non-root user - # && apt-get install -y sudo \ - # && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\ - # && chmod 0440 /etc/sudoers.d/$USERNAME \ - # - # Clean up - && apt-get autoremove -y \ - && apt-get clean -y \ - && rm -rf /var/lib/apt/lists/* - -# Switch back to dialog for any ad-hoc use of apt-get -ENV DEBIAN_FRONTEND=dialog diff --git a/.devcontainer/noop.txt b/.devcontainer/noop.txt deleted file mode 100644 index abee1954102c0..0000000000000 --- a/.devcontainer/noop.txt +++ /dev/null @@ -1,3 +0,0 @@ -This file is copied into the container along with environment.yml* from the -parent folder. This is done to prevent the Dockerfile COPY instruction from -failing if no environment.yml is found. \ No newline at end of file diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000000..931cacb9ed837 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,51 @@ +#------------------------------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. +#------------------------------------------------------------------------------------------------------------- + +FROM continuumio/miniconda3 + +ARG gh_username=pandas-dev +ARG pandas_home="/home/pandas" + +# Avoid warnings by switching to noninteractive +ENV DEBIAN_FRONTEND=noninteractive + +# Configure apt and install packages +RUN apt-get update \ + && apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \ + # + # Verify git, process tools, lsb-release (common in install instructions for CLIs) installed + && apt-get -y install git iproute2 procps iproute2 lsb-release \ + # + # Install pylint + && /opt/conda/bin/pip install pylint \ + # Install C compiler (gcc), needed to build pandas C extensions + # + && apt-get -y install gcc + +# Switch back to dialog for any ad-hoc use of apt-get +ENV DEBIAN_FRONTEND=dialog + +# Clone pandas repo +RUN mkdir "$pandas_home" \ + && git clone "https://github.com/$gh_username/pandas.git" "$pandas_home" \ + && cd "$pandas_home" \ + && git remote add upstream "https://github.com/$gh_username/pandas.git" + +# Because it is surprisingly difficult to activate a conda environment inside a DockerFile +# (from personal experience and per https://github.com/ContinuumIO/docker-images/issues/89), +# we just update the base/root one from the 'environment.yml' file instead of creating a new one. +# +# Set up environment +RUN conda env update -n base -f "$pandas_home/environment.yml" + +# Build C extensions and pandas +RUN cd "$pandas_home" \ + && python setup.py build_ext --inplace -j 4 \ + && python -m pip install -e . + +# cleanup +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* From eb3c32f240e458f0812f43d006b0ea1895a4faab Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Thu, 2 Jan 2020 23:00:17 -0500 Subject: [PATCH 03/10] changed to build-essential, docs --- Dockerfile | 27 ++++++++++++------------- doc/source/development/contributing.rst | 11 ++++++++++ 2 files changed, 24 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index 931cacb9ed837..aa85010b807ae 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,10 +1,7 @@ -#------------------------------------------------------------------------------------------------------------- -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information. -#------------------------------------------------------------------------------------------------------------- - FROM continuumio/miniconda3 +# if you forked pandas, you can pass in your own GitHub username to use your fork +# i.e. gh_username=myname ARG gh_username=pandas-dev ARG pandas_home="/home/pandas" @@ -18,11 +15,14 @@ RUN apt-get update \ # Verify git, process tools, lsb-release (common in install instructions for CLIs) installed && apt-get -y install git iproute2 procps iproute2 lsb-release \ # - # Install pylint - && /opt/conda/bin/pip install pylint \ - # Install C compiler (gcc), needed to build pandas C extensions - # - && apt-get -y install gcc + # Install C compilers (gcc not enough, so just went with build-essential which admittedly might be overkill), + # needed to build pandas C extensions + && apt-get -y install build-essential \ + # + # cleanup + && apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* # Switch back to dialog for any ad-hoc use of apt-get ENV DEBIAN_FRONTEND=dialog @@ -45,7 +45,6 @@ RUN cd "$pandas_home" \ && python setup.py build_ext --inplace -j 4 \ && python -m pip install -e . -# cleanup -RUN apt-get autoremove -y \ - && apt-get clean -y \ - && rm -rf /var/lib/apt/lists/* +# Install pylint for VS Code +RUN /opt/conda/bin/pip install pylint + \ No newline at end of file diff --git a/doc/source/development/contributing.rst b/doc/source/development/contributing.rst index d7b3e159f8ce7..d3e898a5b1bdd 100644 --- a/doc/source/development/contributing.rst +++ b/doc/source/development/contributing.rst @@ -146,6 +146,17 @@ requires a C compiler and Python environment. If you're making documentation changes, you can skip to :ref:`contributing.documentation` but you won't be able to build the documentation locally before pushing your changes. +Using a Docker Container +~~~~~~~~~~~~~~~~~~~~~~~~ + +Instead of manually setting up a development environment, you can use Docker to +automatically create the environment with just several commands. Pandas provides a `DockerFile` +in the root directory to build a Docker image with a full pandas development environment. + +Even easier, you can use the DockerFile to launch a remote session with Visual Studio Code, +a popular free IDE, using the `.devcontainer.json` file. +See https://code.visualstudio.com/docs/remote/containers for details. + .. _contributing.dev_c: Installing a C compiler From 5cc8ab239e89562464c665859c4760c69607b9a7 Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Thu, 2 Jan 2020 23:42:21 -0500 Subject: [PATCH 04/10] whitespace trimming --- .devcontainer.json | 4 ++-- Dockerfile | 11 +++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/.devcontainer.json b/.devcontainer.json index 9927276a4dfe7..2818c71c0a96f 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -5,9 +5,9 @@ "context": ".", "dockerFile": "Dockerfile", - // Use 'settings' to set *default* container specific settings.json values on container create. + // Use 'settings' to set *default* container specific settings.json values on container create. // You can edit these settings after create using File > Preferences > Settings > Remote. - "settings": { + "settings": { "terminal.integrated.shell.linux": "/bin/bash", "python.pythonPath": "/opt/conda/bin/python", "python.linting.enabled": true, diff --git a/Dockerfile b/Dockerfile index aa85010b807ae..74f68cdda9dac 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,10 +15,10 @@ RUN apt-get update \ # Verify git, process tools, lsb-release (common in install instructions for CLIs) installed && apt-get -y install git iproute2 procps iproute2 lsb-release \ # - # Install C compilers (gcc not enough, so just went with build-essential which admittedly might be overkill), + # Install C compilers (gcc not enough, so just went with build-essential which admittedly might be overkill), # needed to build pandas C extensions && apt-get -y install build-essential \ - # + # # cleanup && apt-get autoremove -y \ && apt-get clean -y \ @@ -28,15 +28,15 @@ RUN apt-get update \ ENV DEBIAN_FRONTEND=dialog # Clone pandas repo -RUN mkdir "$pandas_home" \ +RUN mkdir "$pandas_home" \ && git clone "https://github.com/$gh_username/pandas.git" "$pandas_home" \ && cd "$pandas_home" \ && git remote add upstream "https://github.com/$gh_username/pandas.git" # Because it is surprisingly difficult to activate a conda environment inside a DockerFile -# (from personal experience and per https://github.com/ContinuumIO/docker-images/issues/89), +# (from personal experience and per https://github.com/ContinuumIO/docker-images/issues/89), # we just update the base/root one from the 'environment.yml' file instead of creating a new one. -# +# # Set up environment RUN conda env update -n base -f "$pandas_home/environment.yml" @@ -47,4 +47,3 @@ RUN cd "$pandas_home" \ # Install pylint for VS Code RUN /opt/conda/bin/pip install pylint - \ No newline at end of file From e454780320b700bd6c9b729e68bbd99957c1b978 Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Fri, 3 Jan 2020 09:08:23 -0500 Subject: [PATCH 05/10] whitespace --- doc/source/development/contributing.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/source/development/contributing.rst b/doc/source/development/contributing.rst index d3e898a5b1bdd..536deefd45280 100644 --- a/doc/source/development/contributing.rst +++ b/doc/source/development/contributing.rst @@ -149,12 +149,12 @@ to build the documentation locally before pushing your changes. Using a Docker Container ~~~~~~~~~~~~~~~~~~~~~~~~ -Instead of manually setting up a development environment, you can use Docker to +Instead of manually setting up a development environment, you can use Docker to automatically create the environment with just several commands. Pandas provides a `DockerFile` in the root directory to build a Docker image with a full pandas development environment. -Even easier, you can use the DockerFile to launch a remote session with Visual Studio Code, -a popular free IDE, using the `.devcontainer.json` file. +Even easier, you can use the DockerFile to launch a remote session with Visual Studio Code, +a popular free IDE, using the `.devcontainer.json` file. See https://code.visualstudio.com/docs/remote/containers for details. .. _contributing.dev_c: From b2825521819814a26c3c68ffc934c146d29b881d Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Fri, 3 Jan 2020 14:00:10 -0500 Subject: [PATCH 06/10] Correctly hard-code pandas-dev for the remote git branch Co-Authored-By: gfyoung --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 74f68cdda9dac..363ec82922fcd 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,7 @@ ENV DEBIAN_FRONTEND=dialog RUN mkdir "$pandas_home" \ && git clone "https://github.com/$gh_username/pandas.git" "$pandas_home" \ && cd "$pandas_home" \ - && git remote add upstream "https://github.com/$gh_username/pandas.git" + && git remote add upstream "https://github.com/pandas-dev/pandas.git" # Because it is surprisingly difficult to activate a conda environment inside a DockerFile # (from personal experience and per https://github.com/ContinuumIO/docker-images/issues/89), From 36d3882e4b17da83145b66b05d6eba1c097d38c5 Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Sun, 5 Jan 2020 21:39:18 -0500 Subject: [PATCH 07/10] removed pylint, added other linting/testing settings for VS Code --- .devcontainer.json | 11 ++++++----- Dockerfile | 3 --- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/.devcontainer.json b/.devcontainer.json index 2818c71c0a96f..d709c22596db2 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -9,15 +9,16 @@ // You can edit these settings after create using File > Preferences > Settings > Remote. "settings": { "terminal.integrated.shell.linux": "/bin/bash", + "python.condaPath": "/opt/conda/bin/conda", "python.pythonPath": "/opt/conda/bin/python", + "python.formatting.provider": "black", "python.linting.enabled": true, - "python.linting.pylintEnabled": true, - "python.linting.pylintPath": "/opt/conda/bin/pylint" + "python.linting.flake8Enabled": true, + "python.linting.pylintEnabled": false, + "python.linting.mypyEnabled": true, + "python.testing.pytestEnabled": true }, - // Uncomment the next line to run commands after the container is created. - // "postCreateCommand": "python --version", - // Add the IDs of extensions you want installed when the container is created in the array below. "extensions": [ "ms-python.python", diff --git a/Dockerfile b/Dockerfile index 363ec82922fcd..415d86fa92aa5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,6 +44,3 @@ RUN conda env update -n base -f "$pandas_home/environment.yml" RUN cd "$pandas_home" \ && python setup.py build_ext --inplace -j 4 \ && python -m pip install -e . - -# Install pylint for VS Code -RUN /opt/conda/bin/pip install pylint From 0a631541dd5ddfc13f67fe9cbf8ad04aa06805ea Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Mon, 6 Jan 2020 15:59:36 -0500 Subject: [PATCH 08/10] lowercase pandas Co-Authored-By: William Ayd --- .devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer.json b/.devcontainer.json index d709c22596db2..4a20f50620100 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -1,7 +1,7 @@ // For format details, see https://aka.ms/vscode-remote/devcontainer.json or the definition README at // https://github.com/microsoft/vscode-dev-containers/tree/master/containers/python-3-miniconda { - "name": "Pandas", + "name": "pandas", "context": ".", "dockerFile": "Dockerfile", From 851ea92a5bc4c16009d9507e19c52c002e89fd15 Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Mon, 6 Jan 2020 16:11:13 -0500 Subject: [PATCH 09/10] Added git pull upstream master --- Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 415d86fa92aa5..b8aff5d671dcf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -31,7 +31,8 @@ ENV DEBIAN_FRONTEND=dialog RUN mkdir "$pandas_home" \ && git clone "https://github.com/$gh_username/pandas.git" "$pandas_home" \ && cd "$pandas_home" \ - && git remote add upstream "https://github.com/pandas-dev/pandas.git" + && git remote add upstream "https://github.com/pandas-dev/pandas.git" \ + && git pull upstream master # Because it is surprisingly difficult to activate a conda environment inside a DockerFile # (from personal experience and per https://github.com/ContinuumIO/docker-images/issues/89), From 19f48937ffd1582bbc87168dfc5f3c2f1ac35429 Mon Sep 17 00:00:00 2001 From: Josh Dimarsky <24758845+yehoshuadimarsky@users.noreply.github.com> Date: Sun, 12 Jan 2020 14:29:07 -0500 Subject: [PATCH 10/10] specified path for testing in VS code --- .devcontainer.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.devcontainer.json b/.devcontainer.json index 4a20f50620100..315a1ff647012 100644 --- a/.devcontainer.json +++ b/.devcontainer.json @@ -16,7 +16,8 @@ "python.linting.flake8Enabled": true, "python.linting.pylintEnabled": false, "python.linting.mypyEnabled": true, - "python.testing.pytestEnabled": true + "python.testing.pytestEnabled": true, + "python.testing.cwd": "pandas/tests" }, // Add the IDs of extensions you want installed when the container is created in the array below.