Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.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.6.1中_Python_Linux_Python 3.x_Ipython - Fatal编程技术网

找不到与平台相关的库<;执行前缀>;在python 3.6.1中

找不到与平台相关的库<;执行前缀>;在python 3.6.1中,python,linux,python-3.x,ipython,Python,Linux,Python 3.x,Ipython,我已经从源代码编译并安装了python 3.6,当我在控制台中键入python3.6时,我得到: Could not find platform dependent libraries <exec_prefix> Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>] Python 3.6.1rc1+ (default, Mar 11 2017, 15:01:24) [GCC 4.9.2] on li

我已经从源代码编译并安装了python 3.6,当我在控制台中键入python3.6时,我得到:

Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.6.1rc1+ (default, Mar 11 2017, 15:01:24) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
如果我打印sys.path:

$ python3.6
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.6.1rc1+ (default, Mar 11 2017, 15:01:24) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/lib-dynload', '/home/pi/.local/lib/python3.6/site-packages', '/usr/lib/python3.6/site-packages']
>>>

因此,问题是什么是依赖于平台的库以及它的默认路径在哪里?

如果Python 3.6成功编译,请将
导出PYTHONHOME=/usr/local
添加到
.bashrc
文件中。或者在sysconfig文件上编辑前缀和exec_前缀,但前者是一个更简单的解决方案。

我经常在OpenSuse上从源代码处遇到这种构建Python的方法。之后

/配置
制作
sudo make altinstall
解释器在调用时生成此输出

$python3.9
找不到与平台相关的库
考虑将$PythONHOLD设置为[:]
Python 3.9.0a6(默认值,2020年4月29日,07:38:01)
linux上的[GCC 7.5.0]
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
模块读线不可用。
我在Python bug报告中发现了一个建议将
lib dynload
lib
符号链接到
lib64
,这为我解决了问题

$sudo ln-s/usr/local/lib64/python3.9/lib-dynload/usr/local/lib/python3.9/lib-dynload
根据这一点,这个问题在3.9版本中得到了解决,但在3.9.0a6版本中我没有解决。这可能是因为它只针对发行版安装进行了修复(或者我的系统出了问题,这也是很有可能的,它已经经历了十年的OpenSuse升级)

$ python3.6
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.6.1rc1+ (default, Mar 11 2017, 15:01:24) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> sys.path
['', '/usr/lib/python36.zip', '/usr/lib/python3.6', '/usr/lib/lib-dynload', '/home/pi/.local/lib/python3.6/site-packages', '/usr/lib/python3.6/site-packages']
>>>
$ python3.6
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Python 3.6.1rc1+ (default, Mar 11 2017, 15:01:24) 
[GCC 4.9.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import math
>>> dir(math)
['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc']
>>> math.cos(2)
-0.4161468365471424