CS50W 第 7 讲测试,CI/CD--a 关于 YAML 和 GitHub 操作的问题
CS50W lecture7 testing,CI/CD--a problem about YAML and GitHub Actions
我正在学习 CS50 的网络编程 Python 和 JavaScript(CS50W) 课程。我现在遇到 lecture 7 Testing, CI/CD 的问题。当我在 GitHub Actions 部分跟随 Brian 时(Timestamp at about 1:13:36),我的 GitHub Actions 结果与他的不一样。
这是yaml代码(我完全是从讲座中复制的):
name: Testing
on: push
jobs:
test_project:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Django unit tests
run:
pip3 install --user django
python manage.py test
在他的 GitHub 操作中,“运行 django 单元测试”部分没有任何问题。但是我的竟然有一些错误。我在 GitHub Actions 中的结果显示为 this(点击查看截图):
Run pip3 install --user django python manage.py test
pip3 install --user django python manage.py test
shell: /usr/bin/bash -e {0}
Collecting django
Downloading Django-4.0.3-py3-none-any.whl (8.0 MB)
ERROR: Could not find a version that satisfies the requirement python (from versions:
none)
ERROR: No matching distribution found for python
Error: Process completed with exit code 1.
所以我认为在GitHub Ubuntu虚拟机中设置django或python有问题,然后我试图摆脱python manage.py test
yaml 文件中的语法和 GitHub 操作中的“运行 django 单元测试”结果没有错误。结果显示as(点击看截图)
Run pip3 install --user django
pip3 install --user django
shell: /usr/bin/bash -e {0}
Collecting django
Downloading Django-4.0.3-py3-none-any.whl (8.0 MB)
Collecting asgiref<4,>=3.4.1
Downloading asgiref-3.5.0-py3-none-any.whl (22 kB)
Collecting backports.zoneinfo; python_version < "3.9"
Downloading backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl (74 kB)
Collecting sqlparse>=0.2.2
Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB)
Installing collected packages: asgiref, backports.zoneinfo, sqlparse, django
Successfully installed asgiref-3.5.0 backports.zoneinfo-0.2.1 django-4.0.3 sqlparse-
0.4.2
看来 django 安装成功了。但是在yaml文件中加入了python manage.py test
语法是怎么回事呢?我完全不知道。有人可以指出吗?非常感谢!为此,您可能想看看 my GitHub repository。如果您需要更多信息,请告诉我。谢谢!!!
您收到的错误消息表明它试图将 python 安装在:
ERROR: No matching distribution found for python
但是 python 指的是你的第二个命令,python manage.py test
因此错误消息表明它正在尝试 运行 将两个命令作为一个命令。
当运行宁多个命令时,你必须包括|
字符,所以Github Actions理解有多个命令是运行。在讲座中,您可以看到 Brian 包含了必要的 |
字符:
run: |
pip3 install --user django
python manage.py test
我正在学习 CS50 的网络编程 Python 和 JavaScript(CS50W) 课程。我现在遇到 lecture 7 Testing, CI/CD 的问题。当我在 GitHub Actions 部分跟随 Brian 时(Timestamp at about 1:13:36),我的 GitHub Actions 结果与他的不一样。
这是yaml代码(我完全是从讲座中复制的):
name: Testing
on: push
jobs:
test_project:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run Django unit tests
run:
pip3 install --user django
python manage.py test
在他的 GitHub 操作中,“运行 django 单元测试”部分没有任何问题。但是我的竟然有一些错误。我在 GitHub Actions 中的结果显示为 this(点击查看截图):
Run pip3 install --user django python manage.py test
pip3 install --user django python manage.py test
shell: /usr/bin/bash -e {0}
Collecting django
Downloading Django-4.0.3-py3-none-any.whl (8.0 MB)
ERROR: Could not find a version that satisfies the requirement python (from versions:
none)
ERROR: No matching distribution found for python
Error: Process completed with exit code 1.
所以我认为在GitHub Ubuntu虚拟机中设置django或python有问题,然后我试图摆脱python manage.py test
yaml 文件中的语法和 GitHub 操作中的“运行 django 单元测试”结果没有错误。结果显示as(点击看截图)
Run pip3 install --user django
pip3 install --user django
shell: /usr/bin/bash -e {0}
Collecting django
Downloading Django-4.0.3-py3-none-any.whl (8.0 MB)
Collecting asgiref<4,>=3.4.1
Downloading asgiref-3.5.0-py3-none-any.whl (22 kB)
Collecting backports.zoneinfo; python_version < "3.9"
Downloading backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl (74 kB)
Collecting sqlparse>=0.2.2
Downloading sqlparse-0.4.2-py3-none-any.whl (42 kB)
Installing collected packages: asgiref, backports.zoneinfo, sqlparse, django
Successfully installed asgiref-3.5.0 backports.zoneinfo-0.2.1 django-4.0.3 sqlparse-
0.4.2
看来 django 安装成功了。但是在yaml文件中加入了python manage.py test
语法是怎么回事呢?我完全不知道。有人可以指出吗?非常感谢!为此,您可能想看看 my GitHub repository。如果您需要更多信息,请告诉我。谢谢!!!
您收到的错误消息表明它试图将 python 安装在:
ERROR: No matching distribution found for python
但是 python 指的是你的第二个命令,python manage.py test
因此错误消息表明它正在尝试 运行 将两个命令作为一个命令。
当运行宁多个命令时,你必须包括|
字符,所以Github Actions理解有多个命令是运行。在讲座中,您可以看到 Brian 包含了必要的 |
字符:
run: |
pip3 install --user django
python manage.py test