更新:忘记sysproperty只适用于java。
<target name="uploadFile">
<pathconvert property="orchestration.properties" refid="orch.config" />
<exec executable="python" failonerror="true">
<env key="PYTHONPATH" value="${basedir}/lib/python"/>
<arg value="${basedir}/upload.py"/>
<arg value="${basedir}/file.txt"/>
</exec>
</target>
lib/python目录中有一个自定义的python包,我想在ant运行exe时包括它。我该怎么做?它不在python中,所以我无法将它添加到路径中。
好的,我已经解决了这个问题。Python路径有效,但我忘了设置新的环境。如果不设置新环境,它会自动恢复到旧环境。
如果你想从ant运行python命令,但在你的basedir中有模块,而不是python目录,这就是你的做法。
<target name="uploadFile">
<property environment="env"/>
<pathconvert property="orchestration.properties" refid="orch.config" />
<exec executable="python" failonerror="true" **newenvironment="true"**>
<env key="PYTHONPATH" value="${basedir}/lib/python"/>
<arg value="${basedir}/upload.py"/>
<arg value="${basedir}/test1.txt"/>
</exec>
</target>