单独的python环境,其中一个python版本预先安装在特定软件中

单独的python环境,其中一个python版本预先安装在特定软件中,python,environment,Python,Environment,我在Windows 10上工作,我已经预装了python 3.4.4以及我在工作中需要的软件(Plaxis)。该软件有一个特定的python模块(PLXScript),它只适用于该python版本。可执行文件和所有模块位于程序文件夹C:\ProgramFiles\Plaxis\Plaxis 2D\python\中 出于其他目的,我还需要更高版本的python(3.6)和许多其他模块。我试着下载蟒蛇和一次迷你蟒蛇。然而,我无法让这两个python版本一起运行,因为根据我的尝试,我会遇到一组新的问题

我在Windows 10上工作,我已经预装了python 3.4.4以及我在工作中需要的软件(Plaxis)。该软件有一个特定的python模块(PLXScript),它只适用于该python版本。可执行文件和所有模块位于程序文件夹
C:\ProgramFiles\Plaxis\Plaxis 2D\python\

出于其他目的,我还需要更高版本的python(3.6)和许多其他模块。我试着下载蟒蛇和一次迷你蟒蛇。然而,我无法让这两个python版本一起运行,因为根据我的尝试,我会遇到一组新的问题。我拥有计算机的管理员权限。其次,我还希望能够为预安装的python 3.4.4使用SciTE以外的其他编辑器

python环境中有很多线程,但我找不到适合我的解决方案,可能是因为我不允许触摸或更改我的第一个“环境/安装”。我已经从命令提示符Anaconda提示符开发了一个解决方案,还使用了以下编辑器:SciTE(与Plaxis软件一起预装)、PyCharm和Spyder

我迄今为止所做的尝试以及发生的情况:

  • 估计快速修复:更新了预安装的python 3.4.4,并在
    C:\Program Files\Plaxis\Plaxis 2D\python\…
    中添加了一些新模块,但随后我无法再使用提供的软件模块PLXScript,这是必不可少的。结论:我不应该干涉这个python版本或它的库

  • 下载Anaconda3:当下载Anaconda3并被询问时,我将Anaconda添加到系统路径环境变量中,结果是Anaconda Navigator和Spyder都没有启动。当运行Anaconda提示符时,它是这样的

  • 当从SciTE编辑器运行时,预装的python 3.4.4仍然像以前一样工作

    PYTHONPATH设置为Plaxis版本,路径包括Plaxis版本和Anaconda版本的位置,如下所示

    C:\WINDOWS\system32>set PYTHONPATH
    PYTHONPATH=C:\Program Files\Plaxis\PLAXIS 2D\python\Lib\site-packages\plxscripting;C:\Program Files\Plaxis\PLAXIS 2D\python\Lib\site-packages
    
    C:\WINDOWS\system32>set PATH
    Path=C:\Anaconda3;C:\Anaconda3\Library\mingw-w64\bin;C:\Anaconda3\Library\usr\bin;C:\Anaconda3\Library\bin;C:\Anaconda3\Scripts;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\iCLS\;C:\Program Files\Intel\Intel(R) Management Engine Components\iCLS\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Common Files\Rasterex Shared\\Raster Filters;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Plaxis\PLAXIS 2D\python\plxpy;C:\Program Files\Plaxis\PLAXIS 3D\python\plxpy;C:\Users\mdt\AppData\Local\Microsoft\WindowsAppsPATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    
    在读了更多关于蟒蛇的内容后,我把它倒空了。然后Anaconda Navigator和Spyder就可以启动了,但是当我试图以numpy的形式导入模块,或者选中
    help('modules')
    列出可用的模块时,我得到了
    致命错误

    从Anaconda提示符中,我可以找到两个版本的python

    (base) C:\Program Files\Plaxis\PLAXIS 2D\python>where python
    C:\Program Files\Plaxis\PLAXIS 2D\python\python.exe
    C:\Anaconda3\python.exe
    
    当我从Anaconda提示符启动Python3.4.4时,我可以获得其中的模块

    (base) C:\Program Files\Plaxis\PLAXIS 2D\python>python
    Python 3.4.4 |Continuum Analytics, Inc.| (default, Feb 16 2016, 09:54:04) [MSC v.1600 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    >>> import plxscripting
    >>> sys.prefix
    'C:\\Program Files\\Plaxis\\PLAXIS 2D\\python'
    >>> site.getsitepackages()
    ['C:\\Program Files\\Plaxis\\PLAXIS 2D\\python', 'C:\\Program Files\\Plaxis\\PLAXIS 2D\\python\\lib\\site-packages']
    
    但是当我启动Spyder并选择python版本3.6时,sys.prefix和getsitepackages()被定向到与上面相同的Plaxis文件夹。当我将Spyder解释器更改为Plaxis python 3.4时,它无法启动内核

    在Windows命令提示符下,仅找到Anaconda版本,并且sys.prefix指向Anaconda

    (base) C:\WINDOWS\system32>where python
    C:\Anaconda3\python.exe 
    (base) C:\WINDOWS\system32>python
    Python 3.6.3 |Anaconda, Inc.| (default, Oct 15 2017, 03:27:45) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    >>> import plxscripting
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'plxscripting'
    >>> sys.prefix
    'C:\\Anaconda3'
    >>> site.getsitepackages()
    ['C:\\Anaconda3', 'C:\\Anaconda3\\lib\\site-packages']
    
    
    (基本)C:\WINDOWS\system32>其中python
    C:\Anaconda3\python.exe
    (基本)C:\WINDOWS\system32>python
    win32上的Python 3.6.3 | Anaconda,Inc.|(默认,2017年10月15日,03:27:45)[MSC v.1900 64位(AMD64)]
    有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
    >>>进口numpy
    >>>导入plxscript
    回溯(最近一次呼叫最后一次):
    文件“”,第1行,在
    ModuleNotFoundError:没有名为“PLXScript”的模块
    >>>sys.prefix
    'C:\\Anaconda3'
    >>>site.getsitepackages()
    ['C:\\Anaconda3','C:\\Anaconda3\\lib\\site packages']
    
    在这里,我更新了Plaxis文件夹中的几个库,删除了许多重要的连接,因此我不得不重新安装软件。我还进行了一些迭代安装(干净安装)

    一路上,我手动设置了高级系统设置->环境变量->编辑路径->新的Anaconda3和Anaconda3/脚本(根据)。这没用

  • 我已经尝试将整个预安装的python文件夹添加到虚拟环境中。然后dll文件又出现了一个错误,就像上面NR2的开头一样,我无法运行Python3.6
    如果有人能帮助我,我将不胜感激,我已经在这方面来回工作了大约6个月,并阅读了所有我能找到的。。。我想解决方案是将两个环境完全分离,然后能够在我首选的编辑器中选择活动环境。但不知怎么的,它不起作用。任何有建设性的想法都将不胜感激

    有两种方法可以解决你的问题。首先,您可以使用PLAXIS 2D提供的python发行版作为Spyder中的python解释器

  • 转到plaxis python目录“C:\Program Files\plaxis\plaxis 2D\python\”并运行pycmd.bat
  • 安装spyder内核包。在cmd窗口中->python-mpip安装spyder内核==0.*
  • 现在,我们需要告诉spyder选择PLAXIS附带的python发行版,否则所有相关包都无法正常工作

  • 现在打开spyder,工具->首选项->Python解释器。选择“使用以下Python解释器”选项,并将路径输入为“C:\Program Files\Plaxis\Plaxis 2D\Python\Python.exe”(适用于您的情况)
  • 您可以尝试这些步骤,据我所知,spyder不应该再抱怨控制台了

    另一种方法是从plaxis python发行版获得软件包列表,并将其安装到系统python(3.6)软件包中。您仍然需要手动将PLXScript文件夹复制到system python site packages文件夹中,以便找到它。我不确定它是否能正常工作,但如果必须这样做,我会做以下几件事

  • 转到plaxis python目录“C:\Program Files\plaxis\plaxis 2D\python\”并运行pycmd.bat
  • 运行命令-python-mpiplist--format=freeze>requirements.txt。 这将创建一个包含python包和版本号的文本文件(C:\Program Files\Plaxis\Plaxis 2D\python\requirements.txt)。安装带有sa的软件包非常重要
    (base) C:\WINDOWS\system32>where python
    C:\Anaconda3\python.exe 
    (base) C:\WINDOWS\system32>python
    Python 3.6.3 |Anaconda, Inc.| (default, Oct 15 2017, 03:27:45) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import numpy
    >>> import plxscripting
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    ModuleNotFoundError: No module named 'plxscripting'
    >>> sys.prefix
    'C:\\Anaconda3'
    >>> site.getsitepackages()
    ['C:\\Anaconda3', 'C:\\Anaconda3\\lib\\site-packages']