错误:Could not find an available JavaScript runtime

博客围绕在centos 7、python3.6、PyExecJS1.5.1环境下,使用execjs解析网页数据报错展开。指出报错信息为找不到可用JavaScript运行时,介绍了Javascript环境,给出解决方案,即下载并安装Node,设置EXECJS_RUNTIME环境变量,最终解决问题。
部署运行你感兴趣的模型镜像

环境

centos 7,python3.6,PyExecJS1.5.1

问题

使用execjs 解析抓取的网页数据时,报错:Could not find an available JavaScript runtime

JavaScript runtime

Javascript环境有如:Node, JScript, ......

解决方案:

  1. 下载:wget https://nodejs.org/dist/v8.11.4/node-v8.11.4.tar.gz
  2. 安装Node:./configure --prefix=/usr/local/node; make install
  3. 通过错误定位到文件site-packages/execjs/_runtimes.py,从中可以看到取JavaScript Runtime是这个“EXECJS_RUNTIME”环境变量读取
  4. 设置环境变量:export EXECJS_RUNTIME=/usr/local/node

至此问题解决!

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

### HDFS NameNode 格式化时找不到 libjava.so 和 Java SE Runtime Environment 的解决方法 在 HDFS NameNode 格式化过程中,如果出现 `libjava.so` 或 `Java SE Runtime Environment` 未找到的问题,通常与系统环境变量配置或 Java 安装路径有关。以下是问题的可能原因及解决方案: #### 1. 环境变量未正确配置 Hadoop 需要依赖于 Java 环境运行,因此需要确保 `JAVA_HOME` 环境变量已正确设置,并将其添加到系统的 `PATH` 中。如果 `JAVA_HOME` 指向错误的位置或未设置,可能会导致 `libjava.so` 或 `Java SE Runtime Environment` 无法被识别[^1]。 - 检查 `JAVA_HOME` 是否正确指向 Java 安装目录: ```bash echo $JAVA_HOME ``` 如果输出为空或指向错误位置,请修改 `.bashrc` 或 `.bash_profile` 文件,添加以下内容: ```bash export JAVA_HOME=/path/to/java export PATH=$JAVA_HOME/bin:$PATH ``` 将 `/path/to/java` 替换为实际的 Java 安装路径。 - 确保 Java 版本符合 Hadoop 要求: ```bash java -version ``` Hadoop 对 Java 版本有特定要求,通常建议使用 Oracle JDK 或 OpenJDK 的稳定版本[^2]。 #### 2. 动态链接库路径缺失 `libjava.so` 是 Java 运行时环境的一部分,位于 `$JAVA_HOME/lib` 或 `$JAVA_HOME/jre/lib` 目录下。如果系统无法找到该文件,可能是动态链接库路径未正确配置。 - 检查是否已将 Java 的库路径添加到 `LD_LIBRARY_PATH`: ```bash echo $LD_LIBRARY_PATH ``` 如果没有包含 `$JAVA_HOME/lib` 或 `$JAVA_HOME/jre/lib`,请将其添加到环境变量中: ```bash export LD_LIBRARY_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$LD_LIBRARY_PATH ``` #### 3. Hadoop 配置文件检查 Hadoop 的配置文件 `hadoop-env.sh` 中也需要正确设置 `JAVA_HOME`。打开该文件并确认以下内容是否存在: ```bash export JAVA_HOME=/path/to/java ``` 如果不存在,请手动添加,并确保路径正确[^3]。 #### 4. 权限问题 某些情况下,`libjava.so` 文件可能由于权限不足而无法访问。可以尝试更改文件权限以解决问题: ```bash chmod +r /path/to/java/lib/libjava.so ``` #### 5. 测试 NameNode 格式化 完成上述配置后,重新尝试格式化 NameNode: ```bash hdfs namenode -format ``` 如果问题仍然存在,请检查 Hadoop 日志文件以获取更多详细信息。 ```python # 示例:读取 Hadoop 日志文件 with open('/var/log/hadoop/hadoop.log', 'r') as log_file: logs = log_file.read() print(logs) ``` ---
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值