如何从Windows命令行安装Python包



我有一个在Google Collab中编写的脚本,我正在使用安装Geopandas、pandas和descartes包!pip在脚本顶部安装[软件包]。然而,当我从命令行运行这个脚本时(我在Anaconda中打开终端(,我会遇到语法错误。

在普通Python中,通过键入来安装包

pip install <pkg_name>

进入PowerShell、命令提示符或任何其他shell。纯Python不支持通过代码脚本进行安装

然而,理论上,您可以编写运行shell命令来安装包的代码,如下所示:

import subprocess
package_names = ['geopandas', 'pandas', 'descartes']
for pkg in package_names:
try:
process = subprocess.run(
['python', '-m', 'pip', 'install', pkg], 
shell=True, check=True, text=True, 
stderr=subprocess.PIPE, stdout=subprocess.PIPE
)
print(process)
except subprocess.CalledProcessError as e:
print(e.returncode, e.stderr, e.output)

但正如你所看到的,这并不是最简单的代码——任何一种都是非常糟糕的做法,因为它没有考虑任何环境或软件包安装的清洁度。最好在项目文件夹中创建一个虚拟环境,并在那里安装依赖项

cd %userprofile%pathtoprojectfolder
py -m venv .project-env
.project-envscriptsactivate.bat
pip install geopandas pandas descartes
pip freeze > .requirements.txt

以上(在Windows命令提示符中,也称为cmd.exe(将创建一个虚拟环境,这意味着所有包都是为该项目隔离的,这将确保没有依赖冲突,然后激活venv。然后,它将安装软件包并编写一个需求文件,您可以将其与代码一起发货

我希望这有帮助,祝你好运:D

最新更新