From 7de7a10e10face7345da37e8c1ec5b5354a9809c Mon Sep 17 00:00:00 2001 From: Chuck Lantz Date: Tue, 16 Apr 2019 18:19:04 -0700 Subject: [PATCH] Initial --- .devcontainer/Dockerfile | 30 +++++++++++++++++++++++++++++ .devcontainer/devcontainer.json | 9 +++++++++ .devcontainer/requirements.txt.temp | 0 .devcontainer/settings.vscode.json | 3 +++ .gitignore | 2 ++ .vscode/launch.json | 15 +++++++++++++++ .vscode/settings.json | 3 +++ README.md | 16 ++++++++++++++- hello.py | 6 ++++++ 9 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 .devcontainer/Dockerfile create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/requirements.txt.temp create mode 100644 .devcontainer/settings.vscode.json create mode 100644 .vscode/launch.json create mode 100644 .vscode/settings.json create mode 100644 hello.py diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile new file mode 100644 index 0000000..d494ada --- /dev/null +++ b/.devcontainer/Dockerfile @@ -0,0 +1,30 @@ +#----------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root for license information. +#----------------------------------------------------------------------------------------- + +FROM python:3 + +# Copy default endpoint specific user settings overrides into container to specify Python path +COPY .devcontainer/settings.vscode.json /root/.vscode-remote/data/Machine/settings.json + +# Install git, process tools +RUN apt-get update && apt-get -y install git procps + +# Install any missing dependencies for enhanced language service +RUN apt-get install -y libicu[0-9][0-9] + +RUN mkdir /workspace +WORKDIR /workspace + +# Install Python dependencies from requirements.txt if it exists +COPY .devcontainer/requirements.txt.temp requirements.txt* /workspace/ +RUN if [ -f "requirements.txt" ]; then pip install -r requirements.txt && rm requirements.txt*; fi + +# Expose port 5000 as the default web port +EXPOSE 5000 + +# Clean up +RUN apt-get autoremove -y \ + && apt-get clean -y \ + && rm -rf /var/lib/apt/lists/* diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..7fdd974 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,9 @@ +{ + "name": "Python Sample", + "dockerFile": "Dockerfile", + "context": "..", + "extensions": [ + "ms-python.python", + "VisualStudioExptTeam.vscodeintellicode" + ] +} diff --git a/.devcontainer/requirements.txt.temp b/.devcontainer/requirements.txt.temp new file mode 100644 index 0000000..e69de29 diff --git a/.devcontainer/settings.vscode.json b/.devcontainer/settings.vscode.json new file mode 100644 index 0000000..8ad19d5 --- /dev/null +++ b/.devcontainer/settings.vscode.json @@ -0,0 +1,3 @@ +{ + "python.pythonPath": "/usr/local/bin/python" +} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 3e759b7..9787daf 100644 --- a/.gitignore +++ b/.gitignore @@ -328,3 +328,5 @@ ASALocalRun/ # MFractors (Xamarin productivity tool) working folder .mfractor/ + +*.DS_Store diff --git a/.vscode/launch.json b/.vscode/launch.json new file mode 100644 index 0000000..1298fb1 --- /dev/null +++ b/.vscode/launch.json @@ -0,0 +1,15 @@ +{ + // Use IntelliSense to learn about possible attributes. + // Hover to view descriptions of existing attributes. + // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 + "version": "0.2.0", + "configurations": [ + { + "name": "Python: Current File (Integrated Terminal)", + "type": "python", + "request": "launch", + "program": "${file}", + "console": "integratedTerminal" + } + ] +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..58eb1df --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python.jediEnabled": false +} \ No newline at end of file diff --git a/README.md b/README.md index 29f7ebd..396569d 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,14 @@ +# Python Sample Project for Visual Studio Remote - Containers -# Contributing +This is a sample project to go along with the "try" quick start for the VS Code Remote - Containers extension. + +See [https://aka.ms/vsocde-remote/containers/getting-started](https://aka.ms/vsocde-remote/containers/getting-started) for details. + +Other samples that include dev containers for Python: +- [Python 3 - Anaconda](https://github.com/Microsoft/python-sample-anacondacontainer) +- [Tweeter App - Python and Django](https://github.com/Microsoft/python-sample-tweeterapp) + +## Contributing This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us @@ -12,3 +21,8 @@ provided by the bot. You will only need to do this once across all repos using o This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments. + +## License + +Copyright © Microsoft Corporation All rights reserved.
+Licensed under the MIT License. See LICENSE in the project root for license information. \ No newline at end of file diff --git a/hello.py b/hello.py new file mode 100644 index 0000000..7136310 --- /dev/null +++ b/hello.py @@ -0,0 +1,6 @@ +#----------------------------------------------------------------------------------------- +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. See LICENSE in the project root for license information. +#----------------------------------------------------------------------------------------- + +print('Hello, remote world!') \ No newline at end of file