liupengcheng created FLINK-14341:
------------------------------------

             Summary: Flink-python builds with failure: no such option: --prefix
                 Key: FLINK-14341
                 URL: https://issues.apache.org/jira/browse/FLINK-14341
             Project: Flink
          Issue Type: Bug
          Components: API / Python
    Affects Versions: 1.9.0
         Environment: Command: mvn clean install -DskipTests

pip: 7.1.2

python: 2.7.9
            Reporter: liupengcheng


{code:java}
[INFO] --- protoc-jar-maven-plugin:3.7.1:run (default) @ flink-python_2.11 ---
Downloading from nexus: 
http://nexus.d.xiaomi.net/nexus/content/groups/public/com/github/os72/protoc-jar/3.7.1/protoc-jar-3.7.1.jar
Downloaded from nexus: 
http://nexus.d.xiaomi.net/nexus/content/groups/public/com/github/os72/protoc-jar/3.7.1/protoc-jar-3.7.1.jar
 (10 MB at 29 MB/s)
[INFO] Protoc version: 3.7.1
protoc-jar: protoc version: 3.7.1, detected platform: linux-x86_64 (linux/amd64)
protoc-jar: embedded: bin/3.7.1/protoc-3.7.1-linux-x86_64.exe
protoc-jar: executing: [/tmp/protocjar8378491914719706170/bin/protoc.exe, 
--version]
libprotoc 3.7.1
[INFO] Protoc command: /tmp/protocjar8378491914719706170/bin/protoc.exe
[INFO] Input directories:
[INFO]     /home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/proto
[INFO] Output targets:
[INFO]     java: 
/home/liupengcheng/work/git/xiaomi/flink/flink-python/target/generated-sources 
(add: main, clean: false, plugin: null, outputOptions: null)
[INFO] 
/home/liupengcheng/work/git/xiaomi/flink/flink-python/target/generated-sources 
does not exist. Creating...
[INFO]     Processing (java): flink-fn-execution.proto
protoc-jar: executing: [/tmp/protocjar8378491914719706170/bin/protoc.exe, 
-I/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/proto, 
--java_out=/home/liupengcheng/work/git/xiaomi/flink/flink-python/target/generated-sources,
 
/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/proto/flink-fn-execution.proto]
[INFO] Adding generated sources (java): 
/home/liupengcheng/work/git/xiaomi/flink/flink-python/target/generated-sources
[INFO] 
[INFO] --- exec-maven-plugin:1.5.0:exec (Protos Generation) @ flink-python_2.11 
---
/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/gen_protos.py:49: 
UserWarning: Installing grpcio-tools is recommended for development.
  warnings.warn('Installing grpcio-tools is recommended for development.')
WARNING:root:Installing grpcio-tools into 
/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/../.eggs/grpcio-wheelsUsage:
   
  /usr/local/bin/python -m pip install [options] <requirement specifier> 
[package-index-options] ...
  /usr/local/bin/python -m pip install [options] -r <requirements file> 
[package-index-options] ...
  /usr/local/bin/python -m pip install [options] [-e] <vcs project url> ...
  /usr/local/bin/python -m pip install [options] [-e] <local project path> ...
  /usr/local/bin/python -m pip install [options] <archive url/path> ...no such 
option: --prefix
Process Process-1:
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/multiprocessing/process.py", line 258, in 
_bootstrap
    self.run()
  File "/usr/local/lib/python2.7/multiprocessing/process.py", line 114, in run
    self._target(*self._args, **self._kwargs)
  File 
"/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/gen_protos.py", 
line 126, in _install_grpcio_tools_and_generate_proto_files
    '--upgrade', GRPC_TOOLS, "-I"])
  File "/usr/local/lib/python2.7/subprocess.py", line 540, in check_call
    raise CalledProcessError(retcode, cmd)
CalledProcessError: Command '['/usr/local/bin/python', '-m', 'pip', 'install', 
'--prefix', 
'/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/../.eggs/grpcio-wheels',
 '--build', 
'/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/../.eggs/grpcio-wheels-build',
 '--upgrade', 'grpcio-tools>=1.3.5,<=1.14.2', '-I']' returned non-zero exit 
status 2
Traceback (most recent call last):
  File 
"/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/gen_protos.py", 
line 146, in <module>
    generate_proto_files(force=True)
  File 
"/home/liupengcheng/work/git/xiaomi/flink/flink-python/pyflink/gen_protos.py", 
line 91, in generate_proto_files
    raise ValueError("Proto generation failed (see log for details).")
ValueError: Proto generation failed (see log for details).
[ERROR] Command execution failed.

{code}
I find the root cause from the docs: [https://pip.pypa.io/en/stable/news/] , I 
think it's because the `–prefix` option is only supported since pip v8.0.

In flink build docs, there are no description about the pip version, so I think 
here we can use the `--install-option="–prefix=xxx"` for better compatibility.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to