Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
双击批处理文件时Python文件未运行_Python_Python 3.x_Windows_Batch File_Anaconda - Fatal编程技术网

双击批处理文件时Python文件未运行

双击批处理文件时Python文件未运行,python,python-3.x,windows,batch-file,anaconda,Python,Python 3.x,Windows,Batch File,Anaconda,我已经安装了Anaconda,并且正在使用Python和一些软件包,比如Pandas、xlwings、os和pyodbc。组织中的其他人希望运行我的文件,但我们找不到合适的方法来运行我编写的脚本 在我的电脑上,我可以运行Spyder中的所有内容。但是,如果我在Windows资源管理器中双击同一程序,它似乎会打开黑色的内容,但随后会关闭,而不会打印或创建任何输出。我右键单击了该文件,选择Python“始终打开”,所有的.py文件旁边都有Python符号 为了了解发生了什么,我编写了一个简单的测试文

我已经安装了Anaconda,并且正在使用Python和一些软件包,比如Pandas、xlwings、os和pyodbc。组织中的其他人希望运行我的文件,但我们找不到合适的方法来运行我编写的脚本

在我的电脑上,我可以运行Spyder中的所有内容。但是,如果我在Windows资源管理器中双击同一程序,它似乎会打开黑色的内容,但随后会关闭,而不会打印或创建任何输出。我右键单击了该文件,选择Python“始终打开”,所有的.py文件旁边都有Python符号

为了了解发生了什么,我编写了一个简单的测试文件,以查看是否可以访问包,以及是否可以运行包:

import datetime
# just to be sure in accesses packages
import pandas

start_date = datetime.date(2021, 3, 1)
var = "hello world"
print(var, start_date)

# just in case print function is not visible when window closes
f = open("demofile2.txt", "a")
f.write("Now the file has more content!")
f.close()
如果我在CMD窗口中导航到正确的文件夹,我可以运行这个测试文件。它打印并附加文本文件

如果我双击该文件,窗口将闪烁打开和关闭。没有打印输出或在文本文件中

如果路径是一个问题,我做了“where Python”,并创建了一个:

当我双击它时,它似乎执行了一些没有错误的东西,但是python没有输出


我已经擦掉并重新安装了蟒蛇。尝试了Python列出的其他位置。在我们组织中的其他计算机上仅安装了Python(没有Anaconda或任何软件包)尝试了它,但情况相同-从cmd运行,但不是双击。

双击批处理文件时,工作文件夹不是您所期望的(通常是
C:\Windows\system32
),对于“普通”用户,此位置是只读的。因此它无法写入
demofile2.txt
。给它一个完全限定的文件名,比如
“Q:\AbisF\Covid-19\Lageberichte\Misc\pynlich\demofile2.txt”
%PATH%
值中也没有任何内容,告诉我们
python.exe
(假设
.exe
列在
%PATHEXT%
下)是否可以执行,而没有绝对路径或相对路径。这表明,如果它在命令提示符窗口中工作,那么当您在该窗口中运行它时,当前目录不是批处理文件输出中的
Q:\AbisF\Covid-19\Lageberichte\Misc\pynlich
,并且可能保存该可执行文件!已尝试:设置路径=%PATH%;C:\Users\ME\Anaconda3\Python,带和不带exe,但问题相同,仍然没有打印,文件中没有文本(也尝试了完全限定的文件名-谢谢Stephan),但没有更改。python输出的位置:C:\Users\ME\Anaconda3\python.exe文件未被调用
activate
是吗?它被称为
activate.bat
,因此,在使用
test.py
文件作为参数运行
python.exe
之前,如果希望环境在下一个命令中激活并保持激活状态,则需要使用
call
命令。这里有一个单行示例:
@Call“C:\Users\Dyer01\Anaconda3\Scripts\activate.bat”base&“C:\Users\Dyer01\Anaconda3\python.exe”“Q:\AbisF\Covid-19\Lageberichte\Misc\pynlich\test.py”
。如果您不想键入所有这些路径,那么您还应该将
C:\Users\Dyer01\Anaconda3\Scripts
添加到
%PATH%
,然后您可以使用,
@Call activate.bat base&python.exe Q:\AbisF\Covid-19\Lageberichte\Misc\pynlich\test.py
,记住任何包含空格或毒药字符的路径或文件名都应该双引号。如果您100%肯定
.EXE
.BAT
都列在
%PATHEXT%
变量的值下,那么您可以放弃扩展,
@Call activate base&python Q:\AbisF\Covid-19\Lageberichte\Misc\pynlich\test.py
ECHO ON
REM A batch script to execute a Python script
SET PATH=%PATH%;C:\....\Anaconda3
python test.py
PAUSE
Q:\.....\Misc\pynlich>ECHO ON

Q:\.....\Misc\pynlich>REM A batch script to execute a Python script

Q:\.....\Misc\pynlich>SET PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;c:\Program Files (x86)\itWatch\;C:\Program Files\dotnet\;C:\Program Files (x86)\Microsoft SQL Server\150\DTS\Binn\;C:\Program Files\Azure Data Studio\bin;C:\....\AppData\Local\Microsoft\WindowsApps;;C:\Program Files\Azure Data Studio\bin;C:\....\Anaconda3

Q:\.....\Misc\pynlich>python test.py

Q:\.....\Misc\pynlich>PAUSE

Drücken Sie eine beliebige Taste . . .