如何*不*在 Windows 中使用 python/anaconda 拥挤您的用户文件夹?
Posted
技术标签:
【中文标题】如何*不*在 Windows 中使用 python/anaconda 拥挤您的用户文件夹?【英文标题】:How to *not* crowd your user folder with python/anaconda in Windows? 【发布时间】:2021-08-01 09:13:35 【问题描述】:当我安装 Python 和 Anaconda 时,基本路径(我使用的是 Windows 7)似乎是 C:\Users\Erik。我最终在我的用户文件夹中弄得一团糟。我把乱七八糟的东西移到了一个文件夹(C:\Python)并重新安装了 Anaconda(在 ProgramData 文件夹中,而不是用户文件夹中),但我仍然得到像“.conda”、“.ipython”、“.jupyter”和“ .matplotlib”出现在我的用户文件夹中。我试图避免堵塞用户文件夹,而是希望所有这些东西都进入 C:\Python 文件夹。我是python(以及MATLAB之外的任何编程)的菜鸟,所以也许我不知道相关的术语来查找这种东西,但我一直试图弄清楚这一点很长时间无济于事.
我能够为 jupyter 生成一个配置文件,让 C:\Python 成为默认工作目录,这是一个开始,但如果我能保持我的用户目录干净,那就更好了(我猜测更多和随着我安装更多软件包等,将生成更多配置文件夹)。提前感谢您的帮助。
【问题讨论】:
安装Anaconda时,应该可以选择安装位置。见docs.anaconda.com/anaconda/install/windows。 默认安装路径在 C:\ProgramData 中,但那些配置文件夹仍然在我的用户文件夹中;我知道我可以选择位置,但如果 ProgramData 将这些配置文件夹重定向到我的用户文件夹,我不明白为什么选择其他位置会有帮助。 相关:***.com/q/59929158/11301900 【参考方案1】:就我个人而言,我发现使用嵌入到 python 中的虚拟环境比使用 Anaconda 更容易维护。因此,不使用 Anaconda 的一种方法是不使用它。
venv
venv 背后的简单想法是,在 python 项目文件中,您可以创建一个文件夹,其中包含该项目的所有 python 信息和可执行文件。这意味着它实际上会将 python 的文件从它在系统中的安装位置复制到该文件夹中。
你可以通过执行来创建一个新的python venv:
python -m venv .venv
它的作用是调用venv
模块(这就是-m
的含义)并将python 安装的内容有效地复制到一个名为.venv
的文件夹中。 .venv
这个名字在任何方面都没有什么特别之处,它正是文档使用的名称,并且是相当标准的做法。创建此文件夹后,您可以通过调用 .venv/bin
文件夹中的 activate
脚本来激活虚拟环境。有几个不同的“激活”脚本,它们适用于不同的系统(Windows 与 Unix 等),但既然您说您是 Windows 用户,那么您对 powershell 脚本感兴趣(activate.ps1
)。只需运行该脚本,您就可以像 Anaconda 一样进入您的 venv。
激活后,您将在控制台提示符的开头看到(.venv)
。这现在意味着你所做的一切,现在都将针对那个 venv 完成。如果使用python -m pip install X
安装一个包,该包将被安装到 venv 中,并且现在在 venv 处于活动状态时每次调用 python
时都可供您使用。
当您在该 venv 中完成工作后,您只需关闭终端/powershell 窗口即可停用该 venv。您也可以输入deactivate
以恢复正常环境。
策略
对我来说,我只是在我的系统上安装 python,并且只将包安装到 venvs 中。这可能会导致占用一些额外的驱动器空间,但这对大多数人来说通常不是问题。这样做的好处是您永远不必处理正在安装东西的烦恼。此外,默认名称为.venv
,该文件通常对您的文件浏览器隐藏,从而保持 GUI 的美观和整洁。
因此,在您的情况下,无论何时安装 matplotlib
(或与此相关的任何其他软件包),只需确保在使用 python -m pip install matplotlib
安装之前已激活 venv。每次你回到你的项目并激活 venv,matplotlib 就会在那里。
希望对您有所帮助。文档可能会回答任何其他问题。
venv 文档:https://docs.python.org/3/library/venv.html
【讨论】:
我明白了——非常感谢您的建议,我会试一试以上是关于如何*不*在 Windows 中使用 python/anaconda 拥挤您的用户文件夹?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Python + Windows 中使用 LibreOffice API (UNO)?