Linux 是使用 Python 进行机器学习开发的绝佳环境。
这些工具可以快速轻松地安装,并且您可以直接开发和运行大型模型。
在本教程中,您将了解如何为使用 Python 的机器学习创建和设置 Linux 虚拟机。
完成本教程后,您将了解:
- 如何下载和安装 VirtualBox 来管理虚拟机。
- 如何下载和设置 Fedora Linux。
- 如何在 Python 3 中为机器学习安装 SciPy 环境。
如果您的基础操作系统是 Windows、Mac OS X 和 Linux,本教程都很适合。
通过我的新书《Python 机器学习精通》,其中包含分步教程和所有示例的Python 源代码文件,为您的项目打下基础。
让我们开始吧。
Linux 虚拟机的优势
您可能希望为 Python 机器学习开发使用 Linux 虚拟机的原因有很多。
例如,以下是使用虚拟机的 5 个主要优势列表
- 使用您系统上(如果您使用的是 Windows)不可用的工具。
- 在不影响本地环境的情况下安装和使用机器学习工具(例如,使用 Python 3 工具)。
- 为不同项目(Python2 和 Python3)拥有高度定制化的环境。
- 保存机器的状态并精确地接续之前的工作(在机器之间切换)。
- 与其它开发者共享开发环境(设置一次,多次复用)。
也许最有利的一点是第一点,能够轻松使用您环境中不支持的机器学习工具。
我是 OS X 用户,尽管可以使用 brew 和 macports 安装机器学习工具,但我仍然发现为机器学习开发设置和使用 Linux 虚拟机更容易。
概述
本教程分为 3 个部分
- 下载和安装 VirtualBox。
- 在虚拟机中下载和安装 Fedora Linux。
- 安装 Python 机器学习环境
1. 下载和安装 VirtualBox
VirtualBox 是一个免费的开源平台,用于创建和管理虚拟机。
安装完成后,只要您有 ISO 映像或 CD 可供安装,就可以创建任意数量的虚拟机。
- 1. 访问 VirtualBox.org
- 2. 点击“下载 VirtualBox”进入下载页面。

下载 VirtualBox
- 3. 选择适合您工作站的二进制文件。
- 4. 为您的系统安装该软件,并按照安装说明进行操作。

安装 VirtualBox
- 5. 打开 VirtualBox 软件并确认其正常工作。

启动 VirtualBox
2. 下载和安装 Fedora Linux
我选择 Fedora Linux 是因为它比其他一些 Linux 发行版更友好。
它是 RedHat Linux 的领先版本,面向工作站和开发人员。
2.1 下载 Fedora ISO 映像
首先,让我们下载 Fedora Linux 的 ISO 映像。在本例中,是 Fedora 25 的 64 位版本。
- 1. 访问 GetFedora.org。
- 2. 点击“工作站”进入工作站页面。
- 3. 点击“立即下载”进入下载页面。
- 4. 在“其他下载”下,点击“64 位 1.3GB Live 映像”。

下载 Fedora
- 5. 您现在应该有一个名为
- “Fedora-Workstation-Live-x86_64-25-1.3.iso”的 ISO 文件。
现在我们准备在 VirtualBox 中创建虚拟机了。
2.2 创建 Fedora 虚拟机
现在,让我们在 VirtualBox 中创建 Fedora 虚拟机。
- 1. 打开 VirtualBox 软件。
- 2. 点击“新建”按钮。
- 3. 选择名称和操作系统。
- 名称:Fedora25
- 类型:Linux
- 版本:Fedora (64-bit)
- 点击“继续”

创建 Fedora VM 名称和操作系统
- 4. 配置内存大小
- 2048
- 5. 配置硬盘
- 立即创建虚拟硬盘
- 硬盘文件类型
- VDI (VirtualBox 磁盘映像)
- 物理硬盘上的存储
- 动态分配
- 文件位置和大小:10GB
现在我们准备从 ISO 映像安装 Fedora。
2.3 安装 Fedora Linux
现在,让我们在新的虚拟机上安装 Fedora Linux。
- 1. 选择新的虚拟机,然后点击“开始”按钮。
- 2. 点击文件夹图标并选择 Fedora ISO 文件
- “Fedora-Workstation-Live-x86_64-25-1.3.iso”的 ISO 文件。

安装 Fedora
- 3. 点击“开始”按钮。
- 4. 选择第一个选项“Start Fedora-Live-Workstation-Live 25”,然后按 Enter 键。
- 5. 按“Esc”键跳过检查。
- 6. 选择“Live System User”。
- 7. 选择“安装到硬盘”。

将 Fedora 安装到硬盘
- 8. 完成“语言选择”(英语)
- 9. 完成“安装目标”(“ATA VBOX HARDDISK”)。
- 您可能需要等待一分钟,VM 才能创建硬盘。

安装到虚拟硬盘
- 10. 点击“开始安装”。
- 11. 设置 root 密码。
- 12. 创建一个属于您自己的用户。
- 记下用户名和密码(以便以后使用)。
- 勾选“将此用户设为管理员”(以便安装软件)。

创建新用户
- 13. 等待安装完成……(5 分钟?)
- 14. 点击“退出”,点击右上角的电源图标;选择关机。
2.4 完成 Fedora Linux 安装
Fedora Linux 已安装;让我们完成安装并使其准备好使用。
- 1. 在 VirtualBox 中选择 Fedora25 VM,在“存储”下,点击“光驱”。
- 选择“从虚拟驱动器移除磁盘”以弹出 ISO 映像。
- 2. 点击“开始”按钮启动 Fedora Linux 安装。
- 3. 以您创建的用户身份登录。

Fedora 以新用户身份登录
- 4. 完成安装
- 选择语言“English”
- 点击“Next”
- 选择键盘“US”
- 点击“Next”
- 配置隐私
- 点击“Next”
- 连接您的在线账户
- 点击“Skip”
- 点击“开始使用 Fedora”
- 5. 关闭自动启动的帮助系统。
现在我们有了一个 Fedora Linux 虚拟机,可以安装新软件了。
3. 安装 Python 机器学习环境
Fedora 使用 Gnome 3 作为窗口管理器。
Gnome 3 与之前的 Gnome 版本有很大不同;您可以使用内置的帮助系统学习如何操作。
3.1 安装 Python 环境
首先,让我们安装机器学习开发所需的 Python 库。
- 1. 打开终端。
- 点击“Activities”
- 输入“terminal”
- 点击图标或按回车键

启动终端
- 2. 确认 Python3 已安装。
类型
1 |
python3 --version |

Python3 版本
- 3. 安装 Python 机器学习环境。具体来说
- NumPy
- SciPy
- Pandas
- Matplotlib
- Statsmodels
- Scikit-Learn
DNF 是软件安装系统,以前称为 yum。当您第一次运行 dnf 时,它将更新软件包数据库,这可能需要一分钟。
类型
1 |
sudo dnf install python3-numpy python3-scipy python3-scikit-learn python3-pandas python3-matplotlib python3-statsmodels |
提示时输入您的密码。
通过按“y”并按“enter”来确认安装。
3.2 确认 Python 环境
环境安装完成后,我们可以通过打印每个所需库的版本来确认。
- 1. 打开 Gedit。
- 点击“Activities”
- 输入“gedit”
- 点击图标或按回车键
- 2. 输入以下脚本,并将其保存为 versions.py,放在主目录中。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# scipy import scipy print('scipy: %s' % scipy.__version__) # numpy import numpy print('numpy: %s' % numpy.__version__) # matplotlib import matplotlib print('matplotlib: %s' % matplotlib.__version__) # pandas import pandas print('pandas: %s' % pandas.__version__) # scikit-learn import sklearn print('sklearn: %s' % sklearn.__version__) # statsmodels import statsmodels print('statsmodels: %s' % statsmodels.__version__) |
没有复制粘贴支持;您可能想在 VM 中打开 Firefox,导航到此页面,然后将脚本复制粘贴到您的 Gedit 窗口中。

编写版本脚本
- 3. 在终端中运行脚本。
类型
1 |
python3 versions.py |

Python3 检查库版本
使用 VM 的技巧
本节列出了一些使用 VM 进行机器学习开发的技巧。
- 复制粘贴和文件夹共享。这些功能需要在 Linux VM 中安装“Guest Additions”。我未能正确安装它,因此不使用这些功能。如果您愿意,可以尝试一下;请在评论中告诉我您的进展。
- 使用 GitHub。我建议将所有代码存储在 GitHub 中,并从 VM 中检入和检出代码。这可以大大简化将代码和资源移入和移出 VM 的过程。
- 使用 Sublime。我认为 Sublime 是 Linux 上一个很棒的开发文本编辑器,至少比 Gedit 好。
- 使用 AWS 处理大型作业。您可以使用相同的方法在 Amazon Web Services 上设置 Fedora Linux,以便在云中运行大型模型。
- VM 工具。您可以通过关闭窗口在任何时候保存 VM。您也可以在任何时候拍摄 VM 的快照并返回到快照。这在对文件系统进行大规模更改时可能很有用。
- Python2。您可以在 Linux 中轻松地与 Python 3 并存安装 Python2,并使用 python(而不是 python3)二进制文件,或者使用替代方法在两者之间切换。
- Notebooks。考虑在 VM 中运行一个 notebook 服务器,并打开防火墙,以便您可以从 VM 外的主工作站连接和运行。
您有什么技巧可以分享吗?请在评论中告诉我。
进一步阅读
如果您对本教程中使用的工具有所不了解,以下是一些供您进一步阅读的资源。
- VirtualBox 用户手册
- Fedora 文档
- Fedora Wiki(大量关于常见主题的帮助)
- SciPy 主页
- Scikit-Learn 主页
总结
在本教程中,您了解了如何为 Python 机器学习开发设置 Linux 虚拟机。
具体来说,你学到了:
- 如何下载和安装 VirtualBox,用于管理虚拟机的免费开源软件。
- 如何下载和设置 Fedora Linux,一个对开发人员友好的 Linux 发行版。
- 如何安装和测试用于机器学习开发的 Python3 环境。
您完成教程了吗?
请在下面的评论中告诉我进展如何。
也许用 Docker 也可以,方式相同?
谢谢
好建议,谢谢!
您忘了实际安装 Python 3;您从步骤 1:打开终端跳到步骤 2:确认 Python 安装……?
对我来说已经安装好了。我认为对您来说也一样。
嗨 Jason,我使用的是 Macbook pro,已经安装了两个操作系统 OS X 和 Microsoft Windows 7,我该怎么办?
我建议使用 Mac OS X。
您可以安装和使用 Python Anaconda,或者如果您更高级,可以探索使用包管理器,如 macports(我的个人偏好)。
那意味着我可以卸载 Windows 7,只使用 Mac OSX。
好文!
VBox Guest Additions 的关键是在虚拟机中编译“内核模块”。
-只需按 ALT+F2 然后输入“gnome-terminal”。
-输入“sudo yum install kernel-devel-4.8.9-300.fc25.x86_64”。
-在 VirtualBox 中设置带有 VBox Guest Additions 的 ISO 文件。
-只需从 Fedora 打开“cd”并执行“runasroot.sh”(或在“/run/media/VIRTUALBOX…”中使用“sudo”)。
-等待编译“内核模块”(需要一段时间来确定您的“硬件”并进行编译)。
-通过在 VirtualBox 中设置,从真实机器共享文件和文件夹到虚拟机。
-完成!
太棒了 Jimmy,感谢您的提示。
我会尝试确认,甚至更新教程。
非常有趣的帖子!
我想了解更多关于如何在 VM 中运行 notebook 服务器,以便您可以从 VM 外的主工作站连接和运行。我可以在哪里开始?
谢谢
好主意。抱歉,我手头没有示例。
这个关于如何在数据科学语境中使用 Docker 的演示很有趣。如果能看到关于此的博客文章就好了。
演示在这里:https://www.youtube.com/watch?v=GOW6yQpxOIg
感谢分享。
我喜欢你的帖子,感谢你对我的数据科学职业生涯的帮助!
谢谢!
在 Windows 10 机器上尝试了以上步骤,效果很好。很棒的帖子。谢谢。
很高兴听到这个消息!
为什么不提供可下载的虚拟机?基本上它都是开源的 🙂
好建议。主要原因是它很大,例如几个 G 字节。
我按照您的说明使用 VMWare Workstation 进行了相同的操作,效果完美。谢谢。
干得好!
仅供参考:Fedora 28 不再允许您在安装过程中创建用户或设置 root 密码。我在 Reddit 上找到了一些信息:https://www.reddit.com/r/Fedora/comments/8g0ggh/question_about_fedora_28s_new_install_no_root/
谢谢。
好信息。如何在 Windows 7 上执行此操作?如果您能分享信息,将不胜感激。
您可以在 Windows 上执行相同的过程!
或者,您也可以直接在 Windows 上安装 Python
https://machinelearning.org.cn/setup-python-environment-machine-learning-deep-learning-anaconda/
这非常有帮助。
我很好奇,并且很想听听您对以下内容的看法:
1) 您对使用 Ubuntu 的 VMware 有何看法?由于 Ubuntu 声称其构建结构以 ML 为中心,而 VMware 经常与 VirtualBox 相提并论(有什么独特优势吗?)
2) 您对为 VirtualBox 或 VMware 分配多少 RAM 有什么建议吗?
the VirtualBox or VMware?
谢谢,
我没有用过 vmware,抱歉。
不错的教程。
我使用 Anaconda 构建了一个虚拟机,并将其作为 OVA 文件共享在 GitHub 上(点击我的名字)。
该页面有关于虚拟机的描述、照片和视频。
希望这有帮助。
干得好,谢谢。
VirtualBox 支持使用 GPU (Cuda) 吗?
我不知道,抱歉。
很高兴看到如此出色的演示,它极大地指导了如何为 Python 3 的机器学习开发创建 Linux 虚拟机。
谢谢,很高兴对您有帮助。