Ale*_*lex 3 python pip virtualenv
在用户的主目录中安装软件包是否可以pip install --user提供与使用 virtualenv 相同级别的保护,防止破坏系统的更改?
使用 virtualenv 更可取,有几个小原因,还有一个重要原因。
virtualenv 有一个“重新定位”选项(注意:此功能已被标记为存在问题,并且可能无法在所有情况下工作)。如果您尝试将项目重新定位到另一台计算机,则使用 --user 您将需要重新安装所有软件包。
除非您更改 PYTHONPATH 以便不加载站点包中的模块,并重新安装用户目录中的每个模块,否则 python 将继续搜索系统目录中安装的模块。如果您正在考虑使用 --user,我假设您要么没有安装系统软件包的权限,要么担心将来会破坏链接。与 --user 不同,virtualenv 会跟踪所有模块(包括系统范围的模块和 virtualenv 中安装的模块),因此我认为它不太可能“破坏某些东西”(或者至少,它会如果您使用的是 virtualenv,则可以更轻松地确定问题所在。
这些问题可能会令人烦恼,但它们是可以克服的。--user 和 virtualenv 之间最大的区别是,virtualenv 将允许您为您创建的每个环境存储每个包的一个版本,从而消除版本控制问题(即,您构建一个项目来使用包的一个版本,然后您升级软件包以使用某些新功能处理新项目,并发现您的旧项目现在已损坏)。这是一个相当大的问题,并且 --user 在这方面没有任何帮助(除非您想在您的计算机上为您从事的每个项目创建一个新的用户帐户,我不建议这样做)。
| 归档时间: |
|
| 查看次数: |
7427 次 |
| 最近记录: |