Python 2.7 诊断类似Python安装中virtualenv行为的差异
我正在比较两个单独的Python 2.7 诊断类似Python安装中virtualenv行为的差异,python-2.7,virtualenv,Python 2.7,Virtualenv,我正在比较两个单独的ubuntu16.04服务器上的两个传统python2.7.12安装的虚拟环境 第一个是ubuntu16.04.7lts,第二个是ubuntu16.04.6lts 两者都在虚拟环境中运行Django项目 这个问题是关于虚拟环境在上述两个安装中的行为如何不同。我需要理解并消除这种行为差异 在以前的安装中创建虚拟环境时,我看到的输出是: created virtual environment CPython2.7.12.final.0-64 in 113ms creator
ubuntu16.04
服务器上的两个传统python2.7.12
安装的虚拟环境
第一个是ubuntu16.04.7lts
,第二个是ubuntu16.04.6lts
两者都在虚拟环境中运行Django项目
这个问题是关于虚拟环境在上述两个安装中的行为如何不同。我需要理解并消除这种行为差异
在以前的安装中创建虚拟环境时,我看到的输出是:
created virtual environment CPython2.7.12.final.0-64 in 113ms
creator CPython2Posix(dest=/home/ubuntu/.virtualenvs/test, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, wheel=bundle, setuptools=bundle, via=copy, app_data_dir=/home/ubuntu/.local/share/virtualenv)
added seed packages: pip==20.3.1, setuptools==44.1.1, wheel==0.36.1
activators PythonActivator,CShellActivator,FishActivator,PowerShellActivator,BashActivator
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/get_env_details
New python executable in /home/ubuntu/.virtualenvs/test/bin/python
Installing setuptools, pip, wheel...
done.
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/get_env_details
在后一个安装中创建虚拟环境时,我看到的输出是:
created virtual environment CPython2.7.12.final.0-64 in 113ms
creator CPython2Posix(dest=/home/ubuntu/.virtualenvs/test, clear=False, no_vcs_ignore=False, global=False)
seeder FromAppData(download=False, pip=bundle, wheel=bundle, setuptools=bundle, via=copy, app_data_dir=/home/ubuntu/.local/share/virtualenv)
added seed packages: pip==20.3.1, setuptools==44.1.1, wheel==0.36.1
activators PythonActivator,CShellActivator,FishActivator,PowerShellActivator,BashActivator
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/get_env_details
New python executable in /home/ubuntu/.virtualenvs/test/bin/python
Installing setuptools, pip, wheel...
done.
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/preactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/postactivate
virtualenvwrapper.user_scripts creating /home/ubuntu/.virtualenvs/test/bin/get_env_details
基本上,两个输出的前几行是不同的。为什么
接下来,当我在前面的安装中访问
~/.virtualenvs/test/lib/python2.7
时,我会看到一些文件:
但是,在后面的安装中,当我访问~/.virtualenvs/test/lib/python2.7
时,我会看到更多的文件。具体而言:
我的问题是:
我问这个问题是因为有一个
芹菜+supervisor
安装在后一个环境中运行良好,但在前一个环境中失败。我需要诊断并修复此故障
在重要情况下,故障错误如下所示:
load_host_site()
File "/home/ubuntu/.virtualenvs/app/lib/python2.7/site.py", line 41, in load_host_site
reload(sys.modules["site"]) # noqa # call system site.py to setup import libraries
File "/home/ubuntu/.virtualenvs/app/lib/python2.7/site.py", line 164, in <module>
main()
File "/home/ubuntu/.virtualenvs/app/lib/python2.7/site.py", line 19, in main
load_host_site()
File "/home/ubuntu/.virtualenvs/app/lib/python2.7/site.py", line 52, in load_host_site
add_site_dir = sys.modules["site"].addsitedir
AttributeError: 'module' object has no attribute 'addsitedir'
加载主机站点()
文件“/home/ubuntu/.virtualenvs/app/lib/python2.7/site.py”,第41行,在load\u host\u站点中
重新加载(sys.modules[“site”])#noqa#调用system site.py以设置导入库
文件“/home/ubuntu/.virtualenvs/app/lib/python2.7/site.py”,第164行,在
main()
文件“/home/ubuntu/.virtualenvs/app/lib/python2.7/site.py”,主文件第19行
加载主机站点()
文件“/home/ubuntu/.virtualenvs/app/lib/python2.7/site.py”,第52行,在load\u host\u站点中
add_site_dir=sys.modules[“site”].addsitedir
AttributeError:“模块”对象没有属性“addsitedir”
两个安装中的
.virtualenvs/app/lib/python2.7/site.py
似乎是不同的。上述错误是问题的根源。不同之处在于virtualenv
在版本16.7.9
之后的改进方式。下一个版本--版本20.0.0b1
--是对软件包的完全重写
问题中的环境表现不同,因为前者具有16.7.9
,而后者具有20.2.2
。恢复到16.7.9
已奏效
此处引用