Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/301.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
如何在Windows上的Anaconda环境中部署python程序?_Python_Windows_Deployment_Anaconda - Fatal编程技术网

如何在Windows上的Anaconda环境中部署python程序?

如何在Windows上的Anaconda环境中部署python程序?,python,windows,deployment,anaconda,Python,Windows,Deployment,Anaconda,我正在尝试使用Anaconda和conda环境,以允许用于数据采集*等的Python程序从Windows上的(Anaconda)命令行运行。设置是将Python程序安装到特定位置(从Github克隆),在%PATH%或任何更合适的环境变量内 从另一个目录和特定conda环境中的Anaconda命令提示符,我希望(我自己和其他用户)能够运行python test.py或test.py(任何一种解决方案都可以接受),并让系统范围的conda环境运行其python来执行程序。test.py可以/将具有

我正在尝试使用Anaconda和conda环境,以允许用于数据采集*等的Python程序从Windows上的(Anaconda)命令行运行。设置是将Python程序安装到特定位置(从Github克隆),在%PATH%或任何更合适的环境变量内

从另一个目录和特定conda环境中的Anaconda命令提示符,我希望(我自己和其他用户)能够运行
python test.py
test.py
(任何一种解决方案都可以接受),并让系统范围的conda环境运行其python来执行程序。test.py可以/将具有适当的shebang设置

现在,
python test.py
在活动的conda环境中调用正确的python,但找不到test.py程序,因为python不会搜索%PATH%或类似的程序
test.py
做了一些事情(Windows并没有抱怨找不到可执行文件,我一直在玩文件关联来达到这个目的),但似乎并没有启动Python—一个简单的打印函数或raise语句,因为文件中唯一的条目不起任何作用

我尝试在Windows中设置文件关联,但这并没有改变任何事情。我已将py.exe/pyw.exe复制到Anaconda环境中,没有任何更改

这是可以在Anaconda中完成的事情,还是我必须退回到直接安装基本Python并尝试使用那里的启动机制

请注意,我还打算在Raspbian上部署这些程序,因此任何跨平台工作的解决方案,包括非Anaconda解决方案,都值得我付出额外的努力


*这些程序大量使用库包访问外部USB/GPIB/串行/以太网连接的实验室设备,并使用matplotlib、scipy等,因此需要一个可克隆的conda环境作为基本环境。

事实证明,正确的答案相当简单,但是很难找到解释得很好的。这可能比我找到的其他答案更清楚一些:

从安装独立启动器并添加
#/usr/bin/env python
shebang到您的脚本

这应该将.py文件注册到Python.File,并在适当的环境中找到您的Anaconda Python。如果您没有非Anaconda python,那么它将使用Anaconda基础环境(这两个事实是我所看到的关于这个问题的各种其他答案中缺少的关键元素,包括
python.org
上的文档)

如果您安装了来自
Python.org
的Python,那么一个独立的命令行shell将使用它,默认为Python2.x,然后是Python3.x。使用
#/usr/bin/env python
shebang,然后常规命令shell将尝试首先使用
python.org
pythons,然后使用Anaconda基本环境。Anaconda提示符将使用活动环境<代码>#/usr/bin/env python2或
python3
将仅尝试使用
python.org
python,如果找不到它们,则失败

Python.org
安装程序安装Python2.7(并让安装程序设置文件关联)将破坏pylauncher,重新安装不会修复它。相反,将
Computer\HKEY\u CLASSES\u ROOT\Python.File\Shell\open\command
默认值设置为
“C:\WINDOWS\py.exe”“%L”%*
,以恢复pylauncher设置(假设您使用
launchwin.
软件包安装它)