【问题标题】:Set environment variable in bat file在bat文件中设置环境变量
【发布时间】:2014-04-11 02:51:50
【问题描述】:

我尝试使用库 (mapnik) 和 python 绑定。

库安装在D:\install\gis\mapnik-v2.2.0,然后我通过控制面板将以下变量添加到环境变量中:

PATH: D:\install\gis\mapnik-v2.2.0\bin;D:\install\gis\mapnik-v2.2.0\lib


PYTHONPATH:D:\install\gis\mapnik-v2.2.0\python\2.7\site-packages

然后我运行:

python
>>import mapnik

这行得通。

但是,我不想将变量设置为全局环境变量,所以我尝试创建一个像这样的 bat 文件:

setup_mapnik_path.bat:

SET mapnik_path=D:\install\gis\mapnik-v2.2.0;
SET PATH=%PATH%;%mapnik_path%\lib;%mapnik_path%\bin;
SET PYTHONPATH=%PYTHONPATH%;%mapnik_path%\python\2.7\site-packages; 

然后,一旦我尝试运行使用 mapnik 的脚本,我将首先运行 bat:

setup_mapnik_path.bat
python
>>import mapnik

但我会得到错误:

ImportError: No module named mapnik

截图:http://pbrd.co/1lUk1F5

有什么问题?

【问题讨论】:

  • 也许this 是问题所在。
  • 你的意思是最新设置的变量不会立即生效吗?但是我发现有些开源项目会在shell中设置环境变量,例如tomcat :svn.apache.org/repos/asf/tomcat/tc7.0.x/trunk/bin/catalina.bat
  • 您是否尝试过设置变量并打开一个新的 shell 并启动 python?这只是一个建议,我很长时间没有使用 Windows 知道它应该如何发生。
  • 由于变量是通过bat文件设置的,所以我必须在命令提示符下运行它,我希望变量在当前提示符下生效,一旦我打开一个新的提示符并且不运行再次 bat,变量将不起作用。

标签: python windows batch-file


【解决方案1】:

您列为脚本的内容:

setup_mapnik_path.bat
python
>>import mapnik

不能是脚本,因为“>>import mapnik”应该是键盘输入,对吧?

你的脚本应该是这样的:

call setup_mapnik_path.bat
python

前面的脚本调用第一个定义变量的批处理文件,然后返回并执行python。之后,通过键盘输入“>>import mapnik”。

【讨论】:

  • 说,我有几个.py脚本要运行,需要先设置变量,我该怎么办?比如有一个名为run.py的脚本,我要修改这个脚本吗?
猜你喜欢
  • 1970-01-01
  • 2014-04-16
  • 1970-01-01
  • 1970-01-01
  • 2019-04-02
  • 1970-01-01
  • 2012-04-22
  • 2021-05-16
  • 1970-01-01
相关资源
最近更新 更多