1. 首先什么是PYTHONPATH?
PYTHONPATH是一个环境变量,它告诉Python解释器在哪里查找Python模块和包。
2. 怎么判断有没有添加成功?
linux系统echo $PYTHONPATH
win系统cmd下echo %PYTHONPATH%
win系统powershell下echo $env:PYTHONPATH
(如果返回的是根目录,说明添加成功)
3. 如何添加呢?
针对win系统cmd
建立一个set_path.bat文件,内容:
@@echo off
:: 设置项目根目录到PYTHONPATH
set PYTHONPATH=%PYTHONPATH%;%CD%
echo PYTHONPATH has been set to: %PYTHONPATH%
:: 验证设置是否成功
python -c "import sys; print('验证Python路径:\n' + '\n'.join(sys.path))"
python -c "import open3dsg; print('\nopen3dsg导入成功!')" 2>nul || echo "\nopen3dsg导入失败,请检查路径设置"
注意:每次启动项目后先在环境下得终端运行
set_path.bat
针对linux系统
建立一个set_path.sh文件,内容:
#!/bin/bash
# 设置项目根目录到PYTHONPATH
export PYTHONPATH="$PYTHONPATH:$(pwd)"
echo "PYTHONPATH has been set to: $PYTHONPATH"
# 验证设置是否成功
python -c "import sys; print('验证Python路径:\n' + '\n'.join(sys.path))"
python -c "import open3dsg; print('\nopen3dsg导入成功!')" 2>/dev/null || echo "\nopen3dsg导入失败,请检查路径设置"
每次启动项目后先在环境下得终端运行
# 给脚本添加执行权限
chmod +x set_path.sh(这一步可以不用)
# 运行脚本
source set_path.sh
针对win系统powershell
建立setup_pythonpath.ps1文件,内容
# 设置项目根目录到PYTHONPATH
$env:PYTHONPATH = "$env:PYTHONPATH;$PWD"
# 显示设置后的PYTHONPATH
Write-Host "PYTHONPATH has been set to: $env:PYTHONPATH"
# 验证设置是否成功
Write-Host "Python path:"
python -c "import sys; print('\n'.join(sys.path))"
# 尝试导入open3dsg模块
$result = python -c "import open3dsg; print('\nopen3dsg success!')" 2>&1
if ($LASTEXITCODE -ne 0) {
Write-Host "`nopen3dsg failed" -ForegroundColor Red
} else {
Write-Host $result -ForegroundColor Green
}
运行脚本:
.\setup_pythonpath.ps1
永久设置
需要将这个导出命令添加到你的 shell 配置文件中也就是.bashrc文件
具体来说:
在.bashrc文件中添加如下内容
# 添加项目根目录到 PYTHONPATH(假设添加了两个)
export PYTHONPATH=$PYTHONPATH:/mnt/d/xxx
export PYTHONPATH=$PYTHONPATH:/mnt/d/xxx
然后在终端输入source ~/.bashrc
下次启动终端就可以直接加载,不用每次输入
注意:
如果win系统也想永久使用,需要在环境变量中添加对应的路径。