我有一台Windows 7机器,安装了32位的anaconda,为本地用户安装。 安装按预期工作:它允许我从命令行,交换机环境等运行python和pip。
我还有一个坐在“我的文档”中的代码库。 我想添加一个像C:\Users\username\Documents\MyLib到我的PYTHONPATH 。 这通常不是一个问题,但是我没有这个(工作发布的)计算机通过Windows UI修改环境variables所需的提升权限。
我正在寻找一种方法来设置PYTHONPATH。 我只需要它在anaconda环境中工作(即,我只是想能够使用该特定解释器导入我的库)。 在我的脚本中使用sys.path.append解决scheme是不可接受的。 不过,我可以在一些脚本中执行sys.path.append ,每当我运行python myscript.py时,脚本都会自动执行。
我怀疑有一种方法conda info -a通过Windows用户界面施加的特权限制,因为运行conda info -a显示Anaconda安装程序能够将项目插入PATH ,特别是C:\Users\username\AppData\Local\Continuum\Anaconda3\Library\bin;...
在用于修改用户帐户的控制面板窗口中,应该有一个选项来为当前用户更改环境变量。 它在某些版本的Windows中被破解,但是如果它起作用的话,这是最简单的选择。
如果这不起作用,下一个最简单的选择是在命令提示符下使用setx.exe。 它默认为当前用户。 例如:
setx.exe PYTHONPATH "C:\Users\username\Documents\MyLib"
您也可以使用reg.exe在注册表中手动设置变量。 但是,与上述选项不同,这不会将WM_SETTINGCHANGE消息广播到顶层窗口。 当资源管理器看到这个消息时,它从注册表中重新加载它的环境。 没有它,你将不得不注销,并再次看到更新的环境变量。 这就是说,这里是一个使用reg.exe的示例命令:
reg.exe add HKCU\Environment /f /v PYTHONPATH /d "C:\Users\username\Documents\MyLib"
我不是永久设置PYTHONPATH的粉丝,因为每个版本的Python都使用相同的变量。 我宁愿创建一个批处理脚本的快捷方式,以一种特定任务所需的方式配置环境。 例如:
@echo off set PYTHONPATH=C:\Users\username\Documents\MyLib C:\Users\username\Documents\MyEnv\Scripts\activate.bat
创建此批处理脚本的快捷方式。 然后右键单击快捷方式并选择“属性”。 修改目标以运行cmd.exe /k "path\to\the\script.bat" 。
既然你说过,你大多使用Spyder,以下可能是有用的:
Spyder提供通过集成管理器来管理PYTHONPATH的选项。