当我尝试使用“python”或“python3”命令运行解释器时,这就是错误。
public interface IBaseServiceClass
{
IEnumerable<string> GetServiceData();
IEnumerable<string> GetDashBoardData();
}
public interface IBaseServiceClass2 : IBaseServiceClass
{
IEnumerable<string> GetNewTypeOfData();
}
public class WebServiceClass2 : WebServiceClass, IBaseServiceClass2
{
public IEnumerable<string> GetNewTypeOfData()
{
return Enumerable.Empty<string>();
}
}
public class WebServiceClass : IBaseServiceClass
{
public IEnumerable<string> GetServiceData()
{
List<string> MyList = new List<string>();
return MyList;
}
public IEnumerable<string> GetDashBoardData()
{
List<string> MyList = new List<string>();
return MyList;
}
}
输出到[sidgupta234@sidgupta234-Lenovo-G580 Downloads]$ python
Failed to import the site module
Traceback (most recent call last):
File "/usr/lib/python3.5/site.py", line 580, in <module>
main()
File "/usr/lib/python3.5/site.py", line 566, in main
known_paths = addusersitepackages(known_paths)
File "/usr/lib/python3.5/site.py", line 287, in addusersitepackages
user_site = getusersitepackages()
File "/usr/lib/python3.5/site.py", line 263, in getusersitepackages
user_base = getuserbase() # this will also set USER_BASE
File "/usr/lib/python3.5/site.py", line 253, in getuserbase
USER_BASE = get_config_var('userbase')
File "/usr/lib/python3.5/sysconfig.py", line 595, in get_config_var
return get_config_vars().get(name)
File "/usr/lib/python3.5/sysconfig.py", line 538, in get_config_vars
_init_posix(_CONFIG_VARS)
File "/usr/lib/python3.5/sysconfig.py", line 410, in _init_posix
from _sysconfigdata import build_time_vars
File "/usr/lib/python3.5/_sysconfigdata.py", line 6, in <module>
from _sysconfigdata_m import *
ImportError: No module named '_sysconfigdata_m'
which python
输出到[sidgupta234@sidgupta234-Lenovo-G580 Downloads]$ which python
/usr/bin/python
python -V
你能告诉我这个错误的原因吗?我该如何删除它?
我在寻找解决方案时找到了link,但它没有任何区别。
答案 0 :(得分:1)
如果您查看问题排查部分,我猜configuring_apache_django_anaconda是相关的。
这意味着apache使用Python 2而不是Python 3来运行仅为Python 3设计的程序,并且因为Python 2没有_sysconfigdata_m模块而失败。解决方案是将以下文件添加到apache envvar文件(/ etc / apache2 / envvar): export PATH = / opt / anaconda3 / bin:$ PATH
那么也许可以查看哪个版本的python anaconda正在运行?
这两个可能也是相关的:Linux - Weird Python Output
我建议您打印PATH变量以查看其中是否有多个python3条目,并尝试指定哪个条目运行。
答案 1 :(得分:0)
这是一个你已经陷入困境的奇怪情况,如果Continuum有任何一部分(我是工程师)我们想了解我们做了什么导致它,所以我们可以避免它将来
你在哪里尝试安装Anaconda?您是否设置了任何环境变量?
此问题的“最容易解决”原因是您设置了一些混合系统Python库和Anaconda Python库的环境变量。你应该看看输出:
env | grep -i anaconda
并查看是否有任何指示Anaconda路径的内容。应该出现的唯一一个是PATH
中的条目。如果有任何LD_LIBRARY_PATH
,PYTHONPATH
,PYTHONHOME
或类似环境变量指向Anaconda,那么这将是一个问题。
我唯一能想到的是你指定/usr
作为Anaconda的安装路径。如果是这样的话,你可能会陷入痛苦的世界:你刚刚用Anaconda替换了你的系统Python。你应该研究如何强制重新安装你的* nix发行版附带的Python软件包,但即使这样也可能很棘手:像yum
这样的工具是用Python编写的,需要一个工作系统的Python解释器来工作。但RPM是二进制的(如果你使用的是RedHat或衍生发行版),那么也许你可以wget
或curl
必要的系统Python包并强制安装它们来尝试修复。
请告诉我们这是否足以让您解决问题或至少更好地确定问题的根源。