Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/344.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
Python3.7在虚拟环境中阻碍其他Python版本的使用_Python_Python 3.x_Windows_Python Venv - Fatal编程技术网

Python3.7在虚拟环境中阻碍其他Python版本的使用

Python3.7在虚拟环境中阻碍其他Python版本的使用,python,python-3.x,windows,python-venv,Python,Python 3.x,Windows,Python Venv,我已经安装了Python3.6.3和Python3.7,当我试图用3.6.3建立一个虚拟环境时,它会抛出一个错误,并且似乎调用了Python3.7,尽管我试图遵循下面列出的SO链接的建议。Windows 10,首先检查Python 3.6.3可执行文件的位置: C:\>py -3.6 Python 3.6.3 (v3.6.3:2c5fed8, Oct 3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32 import sys pri

我已经安装了Python3.6.3和Python3.7,当我试图用3.6.3建立一个虚拟环境时,它会抛出一个错误,并且似乎调用了Python3.7,尽管我试图遵循下面列出的SO链接的建议。Windows 10,首先检查Python 3.6.3可执行文件的位置:

C:\>py -3.6
Python 3.6.3 (v3.6.3:2c5fed8, Oct  3 2017, 18:11:49) [MSC v.1900 64 bit (AMD64)] on win32
import sys
print(sys.executable) #C:\Python\python.exe
下面是来自以下方面的公认答案:

我得到以下错误:

File "C:\Python37\lib\runpy.py", line 183, in _run_module_as_main
    mod_name, mod_spec, code = _get_module_details(mod_name, _Error)
  File "C:\Python37\lib\runpy.py", line 142, in _get_module_details
    return _get_module_details(pkg_main_name, error)
  File "C:\Python37\lib\runpy.py", line 109, in _get_module_details
    __import__(pkg_name)
  File "C:\Python37\lib\venv\__init__.py", line 7, in <module>
    import logging
  File "C:\Python37\lib\logging\__init__.py", line 26, in <module>
    import sys, os, time, io, traceback, warnings, weakref, collections.abc
  File "C:\Python37\lib\traceback.py", line 5, in <module>
    import linecache
  File "C:\Python37\lib\linecache.py", line 11, in <module>
    import tokenize
  File "C:\Python37\lib\tokenize.py", line 33, in <module>
    import re
  File "C:\Python37\lib\re.py", line 123, in <module>
    import sre_compile
  File "C:\Python37\lib\sre_compile.py", line 17, in <module>
    assert _sre.MAGIC == MAGIC, "SRE module mismatch"
AssertionError: SRE module mismatch
edit2

根据第二轮评论进一步更新如下:

c: \> py -3.6 -c "import site; print(site.__file__)" #C:\Python37\lib\site.py
c:\>python37\lib\site.py
sys.path = [
    'C:\\python37\\lib',
    'C:\\Python37\\python37.zip',
    'C:\\Python37\\DLLs',
    'C:\\Python37',
    'C:\\',
]
USER_BASE: 'C:\\Users\\shanlodh\\AppData\\Roaming\\Python' (doesn't exist)
USER_SITE: 'C:\\Users\\shanlodh\\AppData\\Roaming\\Python\\Python37\\site-packages' (doesn't exist)
ENABLE_USER_SITE: False

这在技术上并不是你的问题的答案,但如果你继续处理同样的问题,这当然是一个考虑的选项。无论如何,我建议您尝试使用virtual environment manager。它似乎在windows和unix系统中都非常有效

您还可以阅读本教程,开始设置以前的python版本环境


希望这能有所帮助。

这是全部的回溯吗?你可能有一个
PYTHONPATH
环境变量集吗?你能运行
py-3.6-m site
并共享输出吗?@Martijn Pieters:(a)是的,这是整个回溯,(b)PYTHONPATH没有设置,(c)py-3.6-m site的输出添加了top OP,thanks@eryksun:
PYTHONHOME
不是set@shanlodh:对,正如您所看到的,3.6的设置非常不完善,因为它希望在导入时将Python3.6与Python3.7路径结合起来。这条路可能是从一个地方走出来的。运行
py-3.6-c“导入站点;打印(站点文件)”
查找目录,然后查找
orig prefix.txt
C:\pyvirtenv>virtualenv -p C:\Python\python.exe pyvirtenv
Traceback (most recent call last):
  File "C:\Python37\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "C:\Python37\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Python\Scripts\virtualenv.exe\__main__.py", line 2, in <module>
  File "C:\Python37\lib\re.py", line 123, in <module>
    import sre_compile
  File "C:\Python37\lib\sre_compile.py", line 17, in <module>
    assert _sre.MAGIC == MAGIC, "SRE module mismatch"
AssertionError: SRE module mismatch
sys.path = [
    'C:\\pyvirtenv',
    'C:\\Python\\python36.zip',
    'C:\\Python37\\DLLs',
    'C:\\Python37\\lib',
    'C:\\Python37',
    'C:\\',
]
USER_BASE: 'C:\\Users\\shanlodh\\AppData\\Roaming\\Python' (doesn't exist)
USER_SITE: 'C:\\Users\\shanlodh\\AppData\\Roaming\\Python\\Python36\\site-packages' (doesn't exist)
ENABLE_USER_SITE: False
c: \> py -3.6 -c "import site; print(site.__file__)" #C:\Python37\lib\site.py
c:\>python37\lib\site.py
sys.path = [
    'C:\\python37\\lib',
    'C:\\Python37\\python37.zip',
    'C:\\Python37\\DLLs',
    'C:\\Python37',
    'C:\\',
]
USER_BASE: 'C:\\Users\\shanlodh\\AppData\\Roaming\\Python' (doesn't exist)
USER_SITE: 'C:\\Users\\shanlodh\\AppData\\Roaming\\Python\\Python37\\site-packages' (doesn't exist)
ENABLE_USER_SITE: False