devcontainer.json postCreateCommand 警告"Running pip as the 'root' user"



问题:

我应该如何重构我的postCreateCommand,以使项目依赖项不作为根安装?

问题(研究和解决方案尝试如下(:

我在devcontainer.json中的postCreateCommand中运行pip install -r requirements.txt。然而,pip仍然抱怨以root身份运行:

"postCreateCommand": "pip3 install -r requirements.txt",

以下是我的postCreateCommand:的输出

Running the postCreateCommand from devcontainer.json...
[7619 ms] Start: Run in container: /bin/sh -c pip3 install --user -r requirements.txt
Looking in indexes: https://pypi.org/simple, https://download.pytorch.org/whl/cu113
Collecting absl-py==1.0.0
Downloading absl_py-1.0.0-py3-none-any.whl (126 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 126.7/126.7 kB 8.4 MB/s eta 0:00:00
Collecting anndata==0.8.0
Downloading anndata-0.8.0-py3-none-any.whl (96 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.1/96.1 kB 8.2 MB/s eta 0:00:00
Collecting argon2-cffi==21.3.0
Downloading argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
Collecting argon2-cffi-bindings==21.2.0
Downloading argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 86.2/86.2 kB 8.0 MB/s eta 0:00:00
Collecting asttokens==2.0.5
Downloading asttokens-2.0.5-py2.py3-none-any.whl (20 kB)
Collecting attrs==21.4.0
Downloading attrs-21.4.0-py2.py3-none-any.whl (60 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.6/60.6 kB 4.4 MB/s eta 0:00:00
Collecting backcall==0.2.0
Downloading backcall-0.2.0-py2.py3-none-any.whl (11 kB)
Collecting beautifulsoup4==4.11.1
Downloading beautifulsoup4-4.11.1-py3-none-any.whl (128 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 128.2/128.2 kB 12.3 MB/s eta 0:00:00
Collecting bleach==5.0.0
Downloading bleach-5.0.0-py3-none-any.whl (160 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 160.3/160.3 kB 15.0 MB/s eta 0:00:00
Collecting cachetools==5.2.0
Downloading cachetools-5.2.0-py3-none-any.whl (9.3 kB)
Collecting certifi==2022.5.18.1
Downloading certifi-2022.5.18.1-py3-none-any.whl (155 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.2/155.2 kB 12.9 MB/s eta 0:00:00
Collecting cffi==1.15.0
Downloading cffi-1.15.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (446 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 446.7/446.7 kB 16.9 MB/s eta 0:00:00
Collecting charset-normalizer==2.0.12
Downloading charset_normalizer-2.0.12-py3-none-any.whl (39 kB)
Collecting cycler==0.11.0
Downloading cycler-0.11.0-py3-none-any.whl (6.4 kB)
Collecting debugpy==1.6.0
Downloading debugpy-1.6.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.8/1.8 MB 34.7 MB/s eta 0:00:00
Collecting decorator==5.1.1
Downloading decorator-5.1.1-py3-none-any.whl (9.1 kB)
Collecting defusedxml==0.7.1
Downloading defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting entrypoints==0.4
Downloading entrypoints-0.4-py3-none-any.whl (5.3 kB)
Collecting executing==0.8.3
Downloading executing-0.8.3-py2.py3-none-any.whl (16 kB)
Collecting fa2==0.3.5
Downloading fa2-0.3.5.tar.gz (435 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 435.4/435.4 kB 27.9 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting fastjsonschema==2.15.3
Downloading fastjsonschema-2.15.3-py3-none-any.whl (22 kB)
Collecting fonttools==4.33.3
Downloading fonttools-4.33.3-py3-none-any.whl (930 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 930.9/930.9 kB 43.2 MB/s eta 0:00:00
Collecting GEOparse==2.0.3
Downloading GEOparse-2.0.3.tar.gz (278 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 278.5/278.5 kB 23.1 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting google-auth==2.6.6
Downloading google_auth-2.6.6-py2.py3-none-any.whl (156 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 156.7/156.7 kB 14.7 MB/s eta 0:00:00
Collecting google-auth-oauthlib==0.4.6
Downloading google_auth_oauthlib-0.4.6-py2.py3-none-any.whl (18 kB)
Collecting grpcio==1.46.3
Downloading grpcio-1.46.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.4/4.4 MB 57.8 MB/s eta 0:00:00
Collecting h5py==3.7.0
Downloading h5py-3.7.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (4.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.5/4.5 MB 58.5 MB/s eta 0:00:00
Collecting idna==3.3
Downloading idna-3.3-py3-none-any.whl (61 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 61.2/61.2 kB 5.8 MB/s eta 0:00:00
Collecting igraph==0.9.10
Downloading igraph-0.9.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.2/3.2 MB 51.5 MB/s eta 0:00:00
Collecting importlib-metadata==4.11.4
Downloading importlib_metadata-4.11.4-py3-none-any.whl (18 kB)
Collecting importlib-resources==5.7.1
Downloading importlib_resources-5.7.1-py3-none-any.whl (28 kB)
Collecting ipykernel==6.13.0
Downloading ipykernel-6.13.0-py3-none-any.whl (131 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.8/131.8 kB 12.2 MB/s eta 0:00:00
Collecting ipython==8.4.0
Downloading ipython-8.4.0-py3-none-any.whl (750 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 750.8/750.8 kB 39.4 MB/s eta 0:00:00
Collecting ipython-genutils==0.2.0
Downloading ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Collecting ipywidgets==7.7.0
Downloading ipywidgets-7.7.0-py2.py3-none-any.whl (123 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 123.4/123.4 kB 11.2 MB/s eta 0:00:00
Collecting jedi==0.18.1
Downloading jedi-0.18.1-py2.py3-none-any.whl (1.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 53.8 MB/s eta 0:00:00
Collecting Jinja2==3.1.2
Downloading Jinja2-3.1.2-py3-none-any.whl (133 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 133.1/133.1 kB 12.9 MB/s eta 0:00:00
Collecting joblib==1.1.0
Downloading joblib-1.1.0-py2.py3-none-any.whl (306 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 307.0/307.0 kB 22.5 MB/s eta 0:00:00
Collecting jsonschema==4.5.1
Downloading jsonschema-4.5.1-py3-none-any.whl (72 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.9/72.9 kB 6.9 MB/s eta 0:00:00
Collecting jupyter-client==7.3.1
Downloading jupyter_client-7.3.1-py3-none-any.whl (130 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 131.0/131.0 kB 10.6 MB/s eta 0:00:00
Collecting jupyter-console==6.4.3
Downloading jupyter_console-6.4.3-py3-none-any.whl (22 kB)
Collecting jupyter-core==4.10.0
Downloading jupyter_core-4.10.0-py3-none-any.whl (87 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 87.3/87.3 kB 7.9 MB/s eta 0:00:00
Collecting jupyterlab-pygments==0.2.2
Downloading jupyterlab_pygments-0.2.2-py2.py3-none-any.whl (21 kB)
Collecting jupyterlab-widgets==1.1.0
Downloading jupyterlab_widgets-1.1.0-py3-none-any.whl (245 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 245.1/245.1 kB 20.5 MB/s eta 0:00:00
Collecting kiwisolver==1.4.2
Downloading kiwisolver-1.4.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 52.7 MB/s eta 0:00:00
Collecting leidenalg==0.8.10
Downloading leidenalg-0.8.10-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 54.2 MB/s eta 0:00:00
Collecting llvmlite==0.38.1
Downloading llvmlite-0.38.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (34.5 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 34.5/34.5 MB 43.2 MB/s eta 0:00:00
Collecting Markdown==3.3.7
Downloading Markdown-3.3.7-py3-none-any.whl (97 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 97.8/97.8 kB 8.9 MB/s eta 0:00:00
Collecting MarkupSafe==2.1.1
Downloading MarkupSafe-2.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (25 kB)
Collecting matplotlib==3.5.2
Downloading matplotlib-3.5.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (11.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 62.6 MB/s eta 0:00:00
Collecting matplotlib-inline==0.1.3
Downloading matplotlib_inline-0.1.3-py3-none-any.whl (8.2 kB)
Collecting mistune==0.8.4
Downloading mistune-0.8.4-py2.py3-none-any.whl (16 kB)
Collecting natsort==8.1.0
Downloading natsort-8.1.0-py3-none-any.whl (37 kB)
Collecting nbclient==0.6.3
Downloading nbclient-0.6.3-py3-none-any.whl (71 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 71.5/71.5 kB 6.8 MB/s eta 0:00:00
Collecting nbconvert==6.5.0
Downloading nbconvert-6.5.0-py3-none-any.whl (561 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 561.6/561.6 kB 33.8 MB/s eta 0:00:00
Collecting nbformat==5.4.0
Downloading nbformat-5.4.0-py3-none-any.whl (73 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.3/73.3 kB 6.9 MB/s eta 0:00:00
Collecting nest-asyncio==1.5.5
Downloading nest_asyncio-1.5.5-py3-none-any.whl (5.2 kB)
Collecting networkx==2.8.2
Downloading networkx-2.8.2-py3-none-any.whl (2.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 34.1 MB/s eta 0:00:00
Collecting notebook==6.4.11
Downloading notebook-6.4.11-py3-none-any.whl (9.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.9/9.9 MB 69.6 MB/s eta 0:00:00
Collecting numba==0.55.1
Downloading numba-0.55.1-1-cp38-cp38-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (3.4 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.4/3.4 MB 51.1 MB/s eta 0:00:00
Collecting numpy==1.21.6
Downloading numpy-1.21.6-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (15.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 15.7/15.7 MB 60.2 MB/s eta 0:00:00
Collecting oauthlib==3.2.0
Downloading oauthlib-3.2.0-py3-none-any.whl (151 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 151.5/151.5 kB 13.7 MB/s eta 0:00:00
Collecting packaging==21.3
Downloading packaging-21.3-py3-none-any.whl (40 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 kB 3.5 MB/s eta 0:00:00
Collecting pandas==1.4.2
Downloading pandas-1.4.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.7 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.7/11.7 MB 66.7 MB/s eta 0:00:00
Collecting pandocfilters==1.5.0
Downloading pandocfilters-1.5.0-py2.py3-none-any.whl (8.7 kB)
Collecting parso==0.8.3
Downloading parso-0.8.3-py2.py3-none-any.whl (100 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.8/100.8 kB 8.1 MB/s eta 0:00:00
Collecting patsy==0.5.2
Downloading patsy-0.5.2-py2.py3-none-any.whl (233 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 233.7/233.7 kB 19.1 MB/s eta 0:00:00
Collecting pexpect==4.8.0
Downloading pexpect-4.8.0-py2.py3-none-any.whl (59 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.0/59.0 kB 5.6 MB/s eta 0:00:00
Collecting pickleshare==0.7.5
Downloading pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
Collecting Pillow==9.1.1
Downloading Pillow-9.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 62.2 MB/s eta 0:00:00
Collecting prometheus-client==0.14.1
Downloading prometheus_client-0.14.1-py3-none-any.whl (59 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.5/59.5 kB 5.6 MB/s eta 0:00:00
Collecting prompt-toolkit==3.0.29
Downloading prompt_toolkit-3.0.29-py3-none-any.whl (381 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 381.5/381.5 kB 24.8 MB/s eta 0:00:00
Collecting protobuf==3.20.1
Downloading protobuf-3.20.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (1.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.0/1.0 MB 32.9 MB/s eta 0:00:00
Collecting psutil==5.9.1
Downloading psutil-5.9.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (284 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 284.7/284.7 kB 21.5 MB/s eta 0:00:00
Collecting ptyprocess==0.7.0
Downloading ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)
Collecting pure-eval==0.2.2
Downloading pure_eval-0.2.2-py3-none-any.whl (11 kB)
Collecting pyasn1==0.4.8
Downloading pyasn1-0.4.8-py2.py3-none-any.whl (77 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 77.1/77.1 kB 7.5 MB/s eta 0:00:00
Collecting pyasn1-modules==0.2.8
Downloading pyasn1_modules-0.2.8-py2.py3-none-any.whl (155 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.3/155.3 kB 13.1 MB/s eta 0:00:00
Collecting pycparser==2.21
Downloading pycparser-2.21-py2.py3-none-any.whl (118 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 118.7/118.7 kB 11.3 MB/s eta 0:00:00
Collecting Pygments==2.12.0
Downloading Pygments-2.12.0-py3-none-any.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 47.6 MB/s eta 0:00:00
Collecting pynndescent==0.5.7
Downloading pynndescent-0.5.7.tar.gz (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 54.2 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting pyparsing==3.0.9
Downloading pyparsing-3.0.9-py3-none-any.whl (98 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.3/98.3 kB 9.7 MB/s eta 0:00:00
Collecting pyrsistent==0.18.1
Downloading pyrsistent-0.18.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (119 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 119.8/119.8 kB 10.9 MB/s eta 0:00:00
Collecting python-dateutil==2.8.2
Downloading python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 kB 22.2 MB/s eta 0:00:00
Collecting pytz==2022.1
Downloading pytz-2022.1-py2.py3-none-any.whl (503 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 503.5/503.5 kB 32.0 MB/s eta 0:00:00
Collecting pyzmq==23.0.0
Downloading pyzmq-23.0.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 48.0 MB/s eta 0:00:00
Collecting requests==2.27.1
Downloading requests-2.27.1-py2.py3-none-any.whl (63 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 kB 5.9 MB/s eta 0:00:00
Collecting requests-oauthlib==1.3.1
Downloading requests_oauthlib-1.3.1-py2.py3-none-any.whl (23 kB)
Collecting rsa==4.8
Downloading rsa-4.8-py3-none-any.whl (39 kB)
Collecting scanpy==1.9.1
Downloading scanpy-1.9.1-py3-none-any.whl (2.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.0/2.0 MB 65.1 MB/s eta 0:00:00
Collecting scikit-learn==1.1.1
Downloading scikit_learn-1.1.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (31.2 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 31.2/31.2 MB 44.7 MB/s eta 0:00:00
Collecting scikit-misc==0.1.4
Downloading scikit_misc-0.1.4-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl (8.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.8/8.8 MB 67.5 MB/s eta 0:00:00
Collecting scipy==1.8.1
Downloading scipy-1.8.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (41.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 41.6/41.6 MB 39.3 MB/s eta 0:00:00
Collecting seaborn==0.11.2
Downloading seaborn-0.11.2-py3-none-any.whl (292 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 292.8/292.8 kB 23.5 MB/s eta 0:00:00
Collecting Send2Trash==1.8.0
Downloading Send2Trash-1.8.0-py3-none-any.whl (18 kB)
Collecting session-info==1.0.0
Downloading session_info-1.0.0.tar.gz (24 kB)
Preparing metadata (setup.py) ... done
Collecting six==1.16.0
Downloading six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting soupsieve==2.3.2.post1
Downloading soupsieve-2.3.2.post1-py3-none-any.whl (37 kB)
Collecting stack-data==0.2.0
Downloading stack_data-0.2.0-py3-none-any.whl (21 kB)
Collecting statannotations==0.4.4
Downloading statannotations-0.4.4-py3-none-any.whl (31 kB)
Collecting statsmodels==0.13.2
Downloading statsmodels-0.13.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.9/9.9 MB 62.4 MB/s eta 0:00:00
Collecting stdlib-list==0.8.0
Downloading stdlib_list-0.8.0-py3-none-any.whl (63 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.5/63.5 kB 5.8 MB/s eta 0:00:00
Collecting tensorboard==2.9.0
Downloading tensorboard-2.9.0-py3-none-any.whl (5.8 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.8/5.8 MB 66.0 MB/s eta 0:00:00
Collecting tensorboard-data-server==0.6.1
Downloading tensorboard_data_server-0.6.1-py3-none-manylinux2010_x86_64.whl (4.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 4.9/4.9 MB 61.9 MB/s eta 0:00:00
Collecting tensorboard-plugin-wit==1.8.1
Downloading tensorboard_plugin_wit-1.8.1-py3-none-any.whl (781 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 781.3/781.3 kB 40.5 MB/s eta 0:00:00
Collecting terminado==0.15.0
Downloading terminado-0.15.0-py3-none-any.whl (16 kB)
Collecting texttable==1.6.4
Downloading texttable-1.6.4-py2.py3-none-any.whl (10 kB)
Collecting threadpoolctl==3.1.0
Downloading threadpoolctl-3.1.0-py3-none-any.whl (14 kB)
Collecting tinycss2==1.1.1
Downloading tinycss2-1.1.1-py3-none-any.whl (21 kB)
Collecting torch-tb-profiler==0.4.0
Downloading torch_tb_profiler-0.4.0-py3-none-any.whl (1.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 46.9 MB/s eta 0:00:00
Collecting tornado==6.1
Downloading tornado-6.1-cp38-cp38-manylinux2010_x86_64.whl (427 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 427.5/427.5 kB 29.1 MB/s eta 0:00:00
Collecting tqdm==4.64.0
Downloading tqdm-4.64.0-py2.py3-none-any.whl (78 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 78.4/78.4 kB 7.5 MB/s eta 0:00:00
Collecting traitlets==5.2.1.post0
Downloading traitlets-5.2.1.post0-py3-none-any.whl (106 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 106.6/106.6 kB 9.8 MB/s eta 0:00:00
Collecting typing_extensions==4.2.0
Downloading typing_extensions-4.2.0-py3-none-any.whl (24 kB)
Collecting umap-learn==0.5.3
Downloading umap-learn-0.5.3.tar.gz (88 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 88.2/88.2 kB 8.4 MB/s eta 0:00:00
Preparing metadata (setup.py) ... done
Collecting urllib3==1.26.9
Downloading urllib3-1.26.9-py2.py3-none-any.whl (138 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 139.0/139.0 kB 10.9 MB/s eta 0:00:00
Collecting wcwidth==0.2.5
Downloading wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting webencodings==0.5.1
Downloading webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting Werkzeug==2.1.2
Downloading Werkzeug-2.1.2-py3-none-any.whl (224 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 224.9/224.9 kB 17.8 MB/s eta 0:00:00
Collecting widgetsnbextension==3.6.0
Downloading widgetsnbextension-3.6.0-py2.py3-none-any.whl (1.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 53.5 MB/s eta 0:00:00
Collecting zipp==3.8.0
Downloading zipp-3.8.0-py3-none-any.whl (5.4 kB)
Collecting torch==1.11.0+cu113
Downloading https://download.pytorch.org/whl/cu113/torch-1.11.0%2Bcu113-cp38-cp38-linux_x86_64.whl (1637.0 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 GB 2.4 MB/s eta 0:00:00
Collecting torchvision==0.12.0+cu113
Downloading https://download.pytorch.org/whl/cu113/torchvision-0.12.0%2Bcu113-cp38-cp38-linux_x86_64.whl (22.3 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 22.3/22.3 MB 56.9 MB/s eta 0:00:00
Collecting torchaudio==0.11.0+cu113
Downloading https://download.pytorch.org/whl/cu113/torchaudio-0.11.0%2Bcu113-cp38-cp38-linux_x86_64.whl (2.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 25.2 MB/s eta 0:00:00
Requirement already satisfied: setuptools>=18.5 in /usr/local/python/lib/python3.8/site-packages (from ipython==8.4.0->-r requirements.txt (line 33)) (56.0.0)
Collecting wheel>=0.26
Downloading wheel-0.37.1-py2.py3-none-any.whl (35 kB)
Using legacy 'setup.py install' for fa2, since package 'wheel' is not installed.
Using legacy 'setup.py install' for GEOparse, since package 'wheel' is not installed.
Using legacy 'setup.py install' for pynndescent, since package 'wheel' is not installed.
Using legacy 'setup.py install' for session-info, since package 'wheel' is not installed.
Using legacy 'setup.py install' for umap-learn, since package 'wheel' is not installed.
Installing collected packages: webencodings, wcwidth, texttable, tensorboard-plugin-wit, stdlib-list, Send2Trash, pytz, pyasn1, pure-eval, ptyprocess, pickleshare, mistune, ipython-genutils, fastjsonschema, executing, backcall, zipp, wheel, Werkzeug, urllib3, typing_extensions, traitlets, tqdm, tornado, tinycss2, threadpoolctl, tensorboard-data-server, soupsieve, six, session-info, rsa, pyzmq, pyrsistent, pyparsing, Pygments, pycparser, pyasn1-modules, psutil, protobuf, prompt-toolkit, prometheus-client, Pillow, pexpect, parso, pandocfilters, oauthlib, numpy, networkx, nest-asyncio, natsort, MarkupSafe, llvmlite, kiwisolver, jupyterlab-widgets, jupyterlab-pygments, joblib, igraph, idna, fonttools, entrypoints, defusedxml, decorator, debugpy, cycler, charset-normalizer, certifi, cachetools, attrs, torch, terminado, scipy, scikit-misc, requests, python-dateutil, patsy, packaging, numba, matplotlib-inline, leidenalg, jupyter-core, Jinja2, jedi, importlib-resources, importlib-metadata, h5py, grpcio, google-auth, cffi, bleach, beautifulsoup4, asttokens, absl-py, torchvision, torchaudio, stack-data, scikit-learn, requests-oauthlib, pandas, matplotlib, Markdown, jupyter-client, jsonschema, fa2, argon2-cffi-bindings, statsmodels, seaborn, pynndescent, nbformat, ipython, google-auth-oauthlib, GEOparse, argon2-cffi, anndata, umap-learn, tensorboard, statannotations, nbclient, ipykernel, torch-tb-profiler, scanpy, nbconvert, jupyter-console, notebook, widgetsnbextension, ipywidgets
Running setup.py install for session-info ... done
Running setup.py install for fa2 ... done
Running setup.py install for pynndescent ... done
Running setup.py install for GEOparse ... done
Running setup.py install for umap-learn ... done
Successfully installed GEOparse-2.0.3 Jinja2-3.1.2 Markdown-3.3.7 MarkupSafe-2.1.1 Pillow-9.1.1 Pygments-2.12.0 Send2Trash-1.8.0 Werkzeug-2.1.2 absl-py-1.0.0 anndata-0.8.0 argon2-cffi-21.3.0 argon2-cffi-bindings-21.2.0 asttokens-2.0.5 attrs-21.4.0 backcall-0.2.0 beautifulsoup4-4.11.1 bleach-5.0.0 cachetools-5.2.0 certifi-2022.5.18.1 cffi-1.15.0 charset-normalizer-2.0.12 cycler-0.11.0 debugpy-1.6.0 decorator-5.1.1 defusedxml-0.7.1 entrypoints-0.4 executing-0.8.3 fa2-0.3.5 fastjsonschema-2.15.3 fonttools-4.33.3 google-auth-2.6.6 google-auth-oauthlib-0.4.6 grpcio-1.46.3 h5py-3.7.0 idna-3.3 igraph-0.9.10 importlib-metadata-4.11.4 importlib-resources-5.7.1 ipykernel-6.13.0 ipython-8.4.0 ipython-genutils-0.2.0 ipywidgets-7.7.0 jedi-0.18.1 joblib-1.1.0 jsonschema-4.5.1 jupyter-client-7.3.1 jupyter-console-6.4.3 jupyter-core-4.10.0 jupyterlab-pygments-0.2.2 jupyterlab-widgets-1.1.0 kiwisolver-1.4.2 leidenalg-0.8.10 llvmlite-0.38.1 matplotlib-3.5.2 matplotlib-inline-0.1.3 mistune-0.8.4 natsort-8.1.0 nbclient-0.6.3 nbconvert-6.5.0 nbformat-5.4.0 nest-asyncio-1.5.5 networkx-2.8.2 notebook-6.4.11 numba-0.55.1 numpy-1.21.6 oauthlib-3.2.0 packaging-21.3 pandas-1.4.2 pandocfilters-1.5.0 parso-0.8.3 patsy-0.5.2 pexpect-4.8.0 pickleshare-0.7.5 prometheus-client-0.14.1 prompt-toolkit-3.0.29 protobuf-3.20.1 psutil-5.9.1 ptyprocess-0.7.0 pure-eval-0.2.2 pyasn1-0.4.8 pyasn1-modules-0.2.8 pycparser-2.21 pynndescent-0.5.7 pyparsing-3.0.9 pyrsistent-0.18.1 python-dateutil-2.8.2 pytz-2022.1 pyzmq-23.0.0 requests-2.27.1 requests-oauthlib-1.3.1 rsa-4.8 scanpy-1.9.1 scikit-learn-1.1.1 scikit-misc-0.1.4 scipy-1.8.1 seaborn-0.11.2 session-info-1.0.0 six-1.16.0 soupsieve-2.3.2.post1 stack-data-0.2.0 statannotations-0.4.4 statsmodels-0.13.2 stdlib-list-0.8.0 tensorboard-2.9.0 tensorboard-data-server-0.6.1 tensorboard-plugin-wit-1.8.1 terminado-0.15.0 texttable-1.6.4 threadpoolctl-3.1.0 tinycss2-1.1.1 torch-1.11.0+cu113 torch-tb-profiler-0.4.0 torchaudio-0.11.0+cu113 torchvision-0.12.0+cu113 tornado-6.1 tqdm-4.64.0 traitlets-5.2.1.post0 typing_extensions-4.2.0 umap-learn-0.5.3 urllib3-1.26.9 wcwidth-0.2.5 webencodings-0.5.1 wheel-0.37.1 widgetsnbextension-3.6.0 zipp-3.8.0
WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
[notice] A new release of pip available: 22.2.1 -> 22.2.2
[notice] To update, run: pip install --upgrade pip
Done. Press any key to close the terminal

研究问题并尝试更正:

  1. 查阅devcontainer.json文档

    1. CCD_ 7仅在";dev容器已经第一次被分配给用户">
    2. containerUser的调用默认切换到root
    3. (1.1-2(意味着postCreateCommand只是在我的容器的非根用户下运行
  2. 我将--user选项添加到我的pip调用

    1. 完整的命令现在是"postCreateCommand": "pip3 install --user -r requirements.txt",
    2. (2.1(生成与原始调用相同的警告,表明postCreateCommand仍以root身份运行

事实证明,为了为安装脚本提供正确的环境,我的dockerfile通过ARG调用而不是USER指令来设置用户。

因此,在调用postCreateCommand时,containerUser被隐式地设置为root

postCreateCommand:之前,将containerUser显式设置为在我的dockerfile中创建的用户就足够了

"remoteUser": "vscode",
"postCreateCommand": "pip3 install --user -r requirements.txt",

相关内容

最新更新