Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.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 3.x 从Windows命令提示符复制Anaconda环境_Python 3.x_Anaconda - Fatal编程技术网

Python 3.x 从Windows命令提示符复制Anaconda环境

Python 3.x 从Windows命令提示符复制Anaconda环境,python-3.x,anaconda,Python 3.x,Anaconda,我想从Windows命令提示符运行Python代码。当我从Windows命令提示符运行同一脚本时,在Anaconda环境中运行的脚本(即从Anaconda提示符、Spyder或Jupyter笔记本)中的某些功能不可用。例如,当脚本在Anaconda环境中运行时,Pandas中的read.csv方法可以读取2.8 GB制表符分隔的文本文件,但当在安装Python副本的环境中从Windows命令提示符运行同一脚本时,我会收到以下消息:“pandas.errors.ParserError:标记数据时出

我想从Windows命令提示符运行Python代码。当我从Windows命令提示符运行同一脚本时,在Anaconda环境中运行的脚本(即从Anaconda提示符、Spyder或Jupyter笔记本)中的某些功能不可用。例如,当脚本在Anaconda环境中运行时,Pandas中的read.csv方法可以读取2.8 GB制表符分隔的文本文件,但当在安装Python副本的环境中从Windows命令提示符运行同一脚本时,我会收到以下消息:“pandas.errors.ParserError:标记数据时出错。C错误:内存不足”。我假设Anaconda环境安装了一个用于读取大型文本文件的包。我已尝试从主目录运行该脚本,默认情况下Anaconda在主目录中存储我的Python脚本,但仍然收到相同的“内存不足”消息。我还从C:[我的主目录]运行了该脚本\AppData\Local\Continuum\anaconda3,显然安装了Anaconda,我遇到了相同的内存问题。有人知道我如何在Anaconda Prompt、Spyder和Jupyter笔记本使用的相同环境中运行Python脚本吗?

这可能是由于使用了不同的Python解释器。例如,32位版本在windows中,Python的一部分只能使用。与笔记本中的64位解释器相比,您可能在命令行中使用它

使用
sys
软件包比较环境。在命令行中,尝试以下命令

python -c "from __future__ import print_function; import sys; print(sys.version); print(sys.executable)"
我在下面分享了一个例子。在本例中,我从Anaconda提示符中运行这些命令,它随(所有?)版本的Anaconda一起安装

(base) C:\Users\my.user.name>python -c "from __future__ import print_function; import sys; print(sys.version); print(sys.executable)"
3.7.0 (default, Jun 28 2018, 08:04:48) [MSC v.1912 64 bit (AMD64)]
C:\ProgramData\Anaconda3\python.exe

(base) C:\Users\my.user.name>conda env list
# conda environments:
#
base                  *  C:\ProgramData\Anaconda3
colors                   C:\Users\my.user.name\.conda\envs\colors
someotherenv             C:\Users\my.user.name\.conda\envs\someotherenv
hellostevep              C:\Users\my.user.name\.conda\envs\hellostevep

(base) C:\Users\my.user.name>conda activate colors

(colors) C:\Users\my.user.name>python -c "from __future__ import print_function; import sys; print(sys.version); print(sys.executable)"
3.7.2 (default, Feb 21 2019, 17:35:59) [MSC v.1915 64 bit (AMD64)]
C:\Users\my.user.name\.conda\envs\colors\python.exe
请注意,
python.exe
因我的环境而异。您的操作系统上可能有其他与Anaconda分离的python环境。例如,您可能有一个针对Windows PowerShell的python环境设置。如果是这样,您可以运行命令
python-c“from _; future _; import print u”函数;导入系统;打印(系统版本);也从PowerShell提示符中打印(sys.executable)“
,然后比较输出

在Pandas方法工作的Jupyter笔记本中,尝试在单元格中运行类似的代码(下面的示例)

你得到相同的输出吗


如果笔记本和命令行之间的输出相同,这可能不是您遇到的问题。如果是这样,您能否共享笔记本内部执行的代码以及在命令行上运行的脚本中的代码?

我有Miniconda,但我想我的解决方案也可以适用于从Windows命令提示符运行

"C:\Users\<username>\Miniconda3\Scripts\activate.bat"  environment_to_use

通过这种方式,如果我在python脚本的链接上删除任何文件,python脚本将使用删除的文件作为参数运行。

Eric,您发现了问题所在!我确实在Anaconda安装中单独安装了python,以测试我在Anaconda之外运行python文件的能力。当我在python脚本中运行您建议的命令时,Ericrompt而不是Anaconda提示符,它返回了以下信息:另一个谜团是我是如何安装32位版本的Python的“。单击该按钮将下载32位版本的Python。您需要进一步向下滚动并单击下载Python3.7.3的hyptertext。这将带您进入,您将看到下载64位版本Python的选项。
"C:\Users\<username>\Miniconda3\Scripts\activate.bat"  environment_to_use
"C:\Users\<username>\Miniconda3\Scripts\activate.bat" environment_to_use  &&  "C:\Users\<username>\Miniconda3\envs\<environment_to_use>\python.exe"  "<path>\my_python_script.py"