Lar*_*ars 49 python path importerror
我正在尝试使用Fontcustom使用svg文件和fontforge创建图标字体.我在OSX.7上.但是,每当我运行程序时,我都会收到错误
Could not find platform independent libraries <prefix>
Could not find platform dependent libraries <exec_prefix>
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
ImportError: No module named site`
Run Code Online (Sandbox Code Playgroud)
作为一个Python/Unix新手,我甚至不知道从哪里开始尝试解决这个问题.有人可以提供任何建议吗?是什么<prefix>
和<exec_prefix>
指的是什么?
当我输入时,python --version
我得到了Python 2.7.1
.在目录/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7中,有一个很大的模块列表,而site.py肯定在该文件夹中.如何让我的电脑找到模块?
Pet*_*ano 42
如果您创建了虚拟环境,然后删除了该python安装,您将得到相同的错误.只是rm -r
你的venv文件夹,然后用一个有效的python位置重新创建它,pip install -r requirements.txt
并且你将全部设置(假设你有你的requirements.txt权限).
jay*_*ren 33
试试export PYTHONHOME=/usr/local
.Python应该安装在/usr/local
OS X上.
这个答案比我预期的要多一些,我会补充一点上下文.
通常情况下,Python将其在路径库prefix/lib
和exec_prefix/lib
,其中prefix
和exec_prefix
是配置选项.如果PYTHONHOME
环境变量被设置,那么的值prefix
和exec_prefix
从它继承.如果PYTHONHOME
没有设置环境变量,然后prefix
和exec_prefix
默认/usr/local
(我相信还有其他方法来设置prefix
/ exec_prefix
为好,但我不完全熟悉它们).
通常,当您收到错误消息时Could not find platform independent libraries <prefix>
,该字符串<prefix>
将替换为实际值prefix
.但是,如果prefix
有一个空值,那么你会在问题中发布相当神秘的消息.获得空的一种方法prefix
是设置PYTHONHOME
为空字符串.有关,和的更多信息PYTHONHOME
,请参阅官方文档.prefix
exec_prefix
我sudo make altinstall
在 Opensuse linux 上使用安装的 Python 时遇到了这个问题。似乎编译的库安装在,/usr/local/lib64
但 Python 正在/usr/local/lib
.
我通过创建一个指向相关目录的动态链接来解决它 /usr/local/lib
sudo ln -s /usr/local/lib64/python3.8/lib-dynload/ /usr/local/lib/python3.8/lib-dynload
Run Code Online (Sandbox Code Playgroud)
我怀疑最好的做法是将其指定libdir
为configure
(在构建过程开始时)的参数,但我还没有以这种方式对其进行测试。
编辑:可以确认./configure --libdir=/usr/local/lib
有效,并且可能比创建链接更好。
我有这个问题,花了几个小时试图解决它.我通过更改路径修复了前缀错误,但仍然有编码导入错误.这是通过重新启动我的电脑来解决的.
(我写了这个,以便下一个有这个问题的人不必像我一样花上几个小时.)