简体   繁体   English

PySpark:无法运行程序“/home/user/venv/bin/python”:错误=2,没有这样的文件或目录

[英]PySpark : Cannot run program “/home/user/venv/bin/python”: error=2, No such file or directory

I'am trying to create a virtual env and start a PySpark-shell using it.我正在尝试创建一个虚拟环境并使用它启动一个 PySpark-shell。 Here my code:这是我的代码:

export PATH=/appl/python/3.6.6/bin:$PATH #location of python on the linux server
python3.6 -m venv ./venv1
source venv1/bin/activate
python -m pip install --index-url http://host/repository/pypi-all/simple --trusted-host host pandas
deactivate

(download packages from a local repository) (从本地存储库下载包)

Now I start the PySpark-Shell with this:现在我用这个启动 PySpark-Shell:

pyspark --conf spark.pyspark.virtualenv.bin.path=/home/user/venv1 --conf spark.pyspark.python=/home/user/venv1/bin/python

It works but i can't run function that use sparkcontext or spark session.它可以工作,但我无法运行使用 sparkcontext 或 spark session 的 function。 For exemple, i'am tryting to use sc.parallelize() or spark.createDataFrame() it bring me this error:例如,我正在尝试使用 sc.parallelize() 或 spark.createDataFrame() 它给我带来了这个错误:

java.io.IOException: Cannot run program "/home/user/venv1/bin/python": error=2, No such file or directory java.io.IOException:无法运行程序“/home/user/venv1/bin/python”:错误=2,没有这样的文件或目录

Notice that i'am on a server on my entreprise, so i can only access to my folder in home.请注意,我在我企业的服务器上,所以我只能访问我家中的文件夹。

May be the problem is /home/user/venv/bin/python is a symlink.可能问题是 /home/user/venv/bin/python 是一个符号链接。 So i retry with this command:所以我用这个命令重试:

python3.6 -m venv --copies ./venv1

This replace the symlink by the real file or folder.这会将符号链接替换为真实文件或文件夹。 But same error.但同样的错误。

How is it possible that PySpark bring me this error while everything looks good, no? PySpark 怎么可能在一切看起来都不错的时候给我带来这个错误,不是吗?

I don't really understand why I have this error but I found a solution.我真的不明白为什么会出现此错误,但我找到了解决方案。 My code works well with spark-sumbit but I want the PySpark-Shell.我的代码适用于 spark-sumbit,但我想要 PySpark-Shell。

My solution is to export these two variables:我的解决方案是导出这两个变量:

export PYSPARK_DRIVER_PYTHON=./venv1/bin/python
export PYSPARK_PYTHON=/path/python/3.6.6/bin/python3.6

and execute this line:并执行这一行:

pyspark --conf spark.yarn.appMasterEnv.PYSPARK_PYTHON=./venv1/bin/python --master yarn --deploy-mode client --archives ./venv1.zip#VENV

It need that you have created a zip of your venv with:它需要你已经创建了你的 venv 的 zip:

zip -rq ../venv1.zip *

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 bash: /python/run/venv/bin/activate: 没有那个文件或目录 - bash: /python/run/venv/bin/activate: No such file or directory Elastic Beanstalk: /bin/sh: /opt/python/run/venv/bin/activate: 没有这样的文件或目录 - Elastic Beanstalk: /bin/sh: /opt/python/run/venv/bin/activate: No such file or directory 无法运行程序(python)没有这样的文件或目录 - Cannot run program (python) No such file or directory bash:venv/bin/activate:没有这样的文件或目录 - bash: venv/bin/activate: No such file or directory 无法运行程序“ pip --version”(在目录“。”中):error = 2,没有这样的文件或目录 - Cannot run program “pip --version” (in directory “.”): error=2, No such file or directory PyCharm 错误:无法运行程序,错误=2,没有这样的文件或目录 - PyCharm error: Cannot run program, error=2, No such file or directory (PySpark)路径错误:线程“ main”中的异常java.io.ioexception无法运行程序“ python” - (PySpark) Pathing error: exception in thread “main” java.io.ioexception cannot run program “python” bash:/home/khawar/.local/bin/pip3:/home/khawar/anaconda3/envs/AAAIFace/bin/python:错误的解释器:没有这样的文件或目录 - bash: /home/khawar/.local/bin/pip3: /home/khawar/anaconda3/envs/AAAIFace/bin/python: bad interpreter: No such file or directory venv / bin / python -m jupyter nbconvert失败并显示错误 - venv/bin/python -m jupyter nbconvert fails with error 我该如何解决 [error: open("venv/bin/python"): Invalid argument fatal: Unable to process path venv/bin/python] 这个问题? - How can i solve [error: open("venv/bin/python"): Invalid argument fatal: Unable to process path venv/bin/python] this problem?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM