Forums

Pip install Xfoil

I would like to install the XFoil module with pip. But I have the following error:

19:18 ~ $ mkvirtualenv my-virtualenv --python=python3.6
Running virtualenv with interpreter /usr/bin/python3.6
Already using interpreter /usr/bin/python3.6
Using base prefix '/usr'
New python executable in /home/gabachour/.virtualenvs/my-virtualenv/bin/python3.6
Also creating executable in /home/gabachour/.virtualenvs/my-virtualenv/bin/python
Installing setuptools, pip, wheel...
done.
virtualenvwrapper.user_scripts creating /home/gabachour/.virtualenvs/my-virtualenv/bin/predeactivate
virtualenvwrapper.user_scripts creating /home/gabachour/.virtualenvs/my-virtualenv/bin/postdeactivate
virtualenvwrapper.user_scripts creating /home/gabachour/.virtualenvs/my-virtualenv/bin/preactivate
virtualenvwrapper.user_scripts creating /home/gabachour/.virtualenvs/my-virtualenv/bin/postactivate
virtualenvwrapper.user_scripts creating /home/gabachour/.virtualenvs/my-virtualenv/bin/get_env_details
(my-virtualenv) 19:19 ~ $ pip install xfoil
Looking in links: /usr/share/pip-wheels
Collecting xfoil
  Using cached xfoil-1.1.1.tar.gz (12 kB)
Collecting numpy
  Downloading numpy-1.18.2-cp36-cp36m-manylinux1_x86_64.whl (20.2 MB)
     |████████████████████████████████| 20.2 MB 11.4 MB/s 
Building wheels for collected packages: xfoil
  Building wheel for xfoil (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/gabachour/.virtualenvs/my-virtualenv/bin/python3.6 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-sruei1nj/xfoil/setup.py'"'"'; __file__='"'"'/tmp/pip-install-sruei1nj/xfoil/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-20xdvj4a
       cwd: /tmp/pip-install-sruei1nj/xfoil/
  Complete output (49 lines):
  /usr/lib/python3.6/distutils/dist.py:261: UserWarning: Unknown distribution option: 'zip_save'
    warnings.warn(msg)
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.6
  creating build/lib.linux-x86_64-3.6/xfoil
  copying xfoil/test.py -> build/lib.linux-x86_64-3.6/xfoil
  copying xfoil/model.py -> build/lib.linux-x86_64-3.6/xfoil
  copying xfoil/__init__.py -> build/lib.linux-x86_64-3.6/xfoil
  copying xfoil/xfoil.py -> build/lib.linux-x86_64-3.6/xfoil
  running build_ext
  ['-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=/tmp/pip-install-sruei1nj/xfoil/build/lib.linux-x86_64-3.6/xfoil', '-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE=build/temp.linux-x86_64-3.6', '-DPYTHON_EXECUTABLE=/home/gabachour/.virtualenvs/my-virtualenv/bin/python3.6']
  CMake Error: The source directory "/tmp/pip-install-sruei1nj/xfoil" does not appear to contain CMakeLists.txt.
  Specify --help for usage, or press the help button on the CMake GUI.
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-sruei1nj/xfoil/setup.py", line 149, in <module>
      zip_save=False
    File "/home/gabachour/.virtualenvs/my-virtualenv/lib/python3.6/site-packages/setuptools/__init__.py", line 144, in setup
      return distutils.core.setup(**attrs)
    File "/usr/lib/python3.6/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/usr/lib/python3.6/distutils/dist.py", line 955, in run_commands
      self.run_command(cmd)
    File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/home/gabachour/.virtualenvs/my-virtualenv/lib/python3.6/site-packages/wheel/bdist_wheel.py", line 223, in run
      self.run_command('build')
    File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/usr/lib/python3.6/distutils/command/build.py", line 135, in run
      self.run_command(cmd_name)
    File "/usr/lib/python3.6/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/usr/lib/python3.6/distutils/dist.py", line 974, in run_command
      cmd_obj.run()
    File "/home/gabachour/.virtualenvs/my-virtualenv/lib/python3.6/site-packages/setuptools/command/build_ext.py", line 87, in run
      _build_ext.run(self)
    File "/usr/lib/python3.6/distutils/command/build_ext.py", line 339, in run
      self.build_extensions()
    File "/tmp/pip-install-sruei1nj/xfoil/setup.py", line 110, in build_extensions
      cwd=self.build_temp)
    File "/usr/lib/python3.6/subprocess.py", line 311, in check_call
      raise CalledProcessError(retcode, cmd)
  subprocess.CalledProcessError: Command '['cmake', '/tmp/pip-install-sruei1nj/xfoil', '-DCMAKE_BUILD_TYPE=Release', '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE=/tmp/pip-install-sruei1nj/xfoil/build/lib.linux-x86_64-3.6/xfoil', '-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE=build/temp.linux-x86_64-3.6', '-DPYTHON_EXECUTABLE=/home/gabachour/.virtualenvs/my-virtualenv/bin/python3.6']' returned non-zero exit status 1.
  ----------------------------------------
  ERROR: Failed building wheel for xfoil

If i understood well it needs C and Fortran compilers to get installed. Is there a way to make this package install correctly?

We have C and Fortran installed, so I don't think that's the problem -- it actually looks like a problem with the xfoil package itself. When I create a virtualenv on my own Linux machine, and try to pip install into it, I get exactly the same error. Perhaps it's worth raising an issue against the package?

Sounds good. How do I access the Fortran compiler? I'm receiving the following error when I try to execute this makefile: 12:36 ~/PHYS722/SBDART-master $ make /usr/local/bin/gfortran -O -C -std=f2003 -Wuninitialized -c -o params.o params.f make: /usr/local/bin/gfortran: Command not found make: *** [params.o] Error 127

Thanks for your help! Ken

seems like make is working, but it can't find /usr/local/bin/gfortran. I think it is in /usr/bin/gfortran, or just gfortran by itself.

Thanks very much Conrad! Yes- gfortran is located in the directory /usr/bin/gfortran. I updated the makefile accordingly and the SBDART compiled correctly. Hopefully no further issues from this point! Cheers,

Glad to hear that you figured it out!