Skip to content
Neo Lee edited this page Sep 16, 2020 · 6 revisions

Welcome to the World of Programming!

补充资源

作为课堂教学的补充,我们还录制了一些视频课程,主要涵盖两类内容:

  • 支线课程:补上一些与课程主线没有直接关联,但可能需要了解的计算机基本概念、常用工具使用等知识。这部分比较推荐在课程初期自行学习,尤其是其中第一讲,对没有接触过电脑命令行界面的同学格外重要。
  • 专题点播: 不定期更新的一些专题,来自同学们提出的感兴趣的主题。

具体请参考这些补充资源的详细列表

常见问题:GitHub

如何贴图

拷贝图片,然后直接在输入框中粘贴,或者直接将图片文件拖到输入框中。

操作之后输入框中会显示 Uploading pic...,注意一定要等这句话变成 <img src=...> 这样的一串之后再提交,否则上传和贴图会失败,切记。

如何贴代码

关于程序的问题,最好把你的代码完整贴出来,贴的时候使用 Markdown 语法:

```python
# 把你的代码放在这里
```

“`” 这个字符叫重音符(grave accent),也叫 back quote 或者 backquote,对应按键通常在键盘左上角。

用三个“`”开始和结束,框起来的部分会被显示为代码样式。

在开始的三个“`”后面可以用一个编程语言标签来指定其下代码是什么语言,系统会根据语言特性进行语法着色显示。

比如 python javascript shell 等等都支持。

如何引用其他问题

在输入框内输入 # 后面紧跟问题(issue)编号即可,系统会自动创建链接连到对应的问题。

如何搜索

在搜索框输入搜索关键字即可,通常关键字是你碰到的出错信息里的关键内容,或者你要问的主题等等。

可以使用多个关键字,用空格隔开就好。

还可以输入一些特殊条件,比如:

  • is:issue 指定在问题中搜索,否则是对整个仓库的搜索;
  • is:open 是搜索未关闭的问题,类似的还有 is:closed 搜索已关闭的问题,去掉这类条件则搜索所有问题;
  • label:xxxx 在带有 xxxx 标签的问题中搜索,管理员会给问题打上不同的标签,具体可用标签及其含义可以点击搜索框右边的 Labels 按钮来查看。

常见问题:环境配置

提示配置指南 会不断更新以反映我们收集到的问题和环境的变化,遇到环境配置问题可以先访问该指南最新版本。

关于 Python 版本问题

首先执行一些常规性检查,然后去 Issues 区提问。

对 Windows 环境,请在一个 PowerShell 命令行界面中依次执行如下的命令:

$PSVersionTable.PSVersion.Major
$env:Path

scoop checkup
scoop update

which python
python -V
pip -V
pip list

对 macOS 系统,请在 Terminal 界面中依次执行如下的命令:

echo $PATH

which python
which python3
python -V
python3 -V

which pip
which pip3
pip -V
pip3 -V

重装 Scoop

Scoop 安装失败之后通常需要先清理掉残骸再尝试重装,可依次运行以下命令:

scoop uninstall scoop
Set-ExecutionPolicy RemoteSigned -scope CurrentUser
iwr -useb get.scoop.sh | iex

如果上面第一句不成功,可以用另一个方案(假定你的 Scoop 安装在缺省位置):

cd
del .\scoop -Force

把 Scoop 安装在其他目录下

参考 官方指南

关于 scoop checkup

这是 Scoop 的自检命令,一般按照其给出的建议做就好,比如在某些系统上它会建议你执行两个命令:

Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1
scoop install innounp dark

尤其是第一行命令,在一些系统上是很多问题的根源,遇到问题可以试试先运行它。

重装 Homebrew

依次运行以下命令:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"
xcode-select --install
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update && brew doctor

安装 JupyterLab 发生网络错误

pip 从 PyPI 源下载和更新 Python 的第三方软件包,而国内有一些比较可靠的 PyPI 镜像源,比如清华的这个:

https://mirror.tuna.tsinghua.edu.cn/help/pypi/

按里面的提示换用镜像源下载安装通常就没问题了。用 pip install 安装其他软件包遇到网络问题也可照此办理。

如何同步最新版本的学习用书

打开你 fork 的学习用书仓库,点击 Compare 按钮,并按照 GitHub 官方指引 操作。完成后到记得到你电脑上学习用书目录下执行 git pull 即可。

附:访问 GitHub 的一些问题

由于某些原因,访问 GitHub 有时会碰到一些问题,比如头像显示不出来,或者访问 raw.githubusercontent.com 这个域名下的资源出错——这个问题还会影响安装 Scoop 和 Homebrew……这些问题都是因为没有正确进行域名解析导致的,这类问题可以通过修改操作系统的一个叫做 hosts 的配置文件来(临时)解决。下面是具体方法。

  • 访问 ipaddress.com,查询 github.com 域名对应的 IP

    • 比如在我的系统里查出来是 140.82.113.4
    • 可以用命令行下的 ping 命令做测试:ping 140.82.113.4,如果正常你可以看到访问这个 IP 的时间
  • 准备一个名为 hosts 的空文本文件(文件名就叫 hosts 没有任何后缀),将我们查到的域名和对应 IP 写进去

  • 重复上面的步骤,把所有与 GitHub 有关的域名数据都添加到 hosts 文件中

    • 下面是我测试可用的,但在你的网络环境下不一定好用,你可以先用这些配置测试,如果访问某个域名出现问题,就用上面的方法自己去查和测试
# GitHub
140.82.113.4 github.com
140.82.113.3 gist.github.com
185.199.108.153 assets-cdn.github.com
199.232.68.133 raw.githubusercontent.com
199.232.68.133 gist.githubusercontent.com
199.232.68.133 cloud.githubusercontent.com
199.232.68.133 camo.githubusercontent.com
199.232.68.133 avatars0.githubusercontent.com
199.232.68.133 avatars1.githubusercontent.com
199.232.68.133 avatars2.githubusercontent.com
199.232.68.133 avatars3.githubusercontent.com
199.232.68.133 avatars4.githubusercontent.com
199.232.68.133 avatars5.githubusercontent.com
199.232.68.133 avatars6.githubusercontent.com
199.232.68.133 avatars7.githubusercontent.com
199.232.68.133 avatars8.githubusercontent.com
140.82.113.5 api.github.com
  • 将上述 hosts 文件拷贝到系统位置

    • Windows:C:\Windows\System32\drivers\etc\hosts
    • macOS:/etc/hosts
    • 注意:如果拷贝时说文件已存在的话,不要覆盖掉,而应该打开上述位置已存在的系统配置文件,将上面列出的内容追加到已存在配置文件的最后才对
    • 上述拷贝或编辑修改操作均需要系统管理员权限
  • 在命令行执行下面的命令,以更新 DNS 缓存令上述修改生效:

    • Windows:ipconfig /flushdns
    • macOS:sudo killall -HUP mDNSResponder
  • 重新打开浏览器,应该可以正常访问 GitHub 的各项服务

    • 或者重新执行命令行的命令,例如 Scoop 和 Homebrew 的安装都需要访问 raw.githubusercontent.com 域名