Shoaib Ijaz
Shoaib Ijaz

Reputation: 5597

djangocms: AttributeError: 'FileNotFoundError' object has no attribute 'cmd'

I am trying to install Django CMS on windows. I am using following steps.

C:\Python34\Scripts\pip install djangocms-installer

E:\Projects\example>C:\Python34\Scripts\djangocms -p mysite mysite

But throws following error:

Creating the project
Please wait while I install dependencies


*****************************************************************

Check documentation at https://djangocms-installer.readthedocs.io

*****************************************************************

Traceback (most recent call last):
  File "c:\python34\lib\site-packages\djangocms_installer\install\__init__.py",
line 95, in requirements
    output = subprocess.check_output(['pip'] + args, stderr=subprocess.STDOUT)
  File "c:\python34\lib\subprocess.py", line 607, in check_output
    with Popen(*popenargs, stdout=PIPE, **kwargs) as process:
  File "c:\python34\lib\subprocess.py", line 859, in __init__
    restore_signals, start_new_session)
  File "c:\python34\lib\subprocess.py", line 1114, in _execute_child
    startupinfo)
FileNotFoundError: [WinError 2] The system cannot find the file specified

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\python34\lib\runpy.py", line 170, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\python34\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Python34\Scripts\djangocms.exe\__main__.py", line 9, in <module>
  File "c:\python34\lib\site-packages\djangocms_installer\main.py", line 33, in
execute
    verbose=config_data.verbose
  File "c:\python34\lib\site-packages\djangocms_installer\install\__init__.py",
line 98, in requirements
    logger.error('cmd : %s :%s' % (e.cmd, e.output))
AttributeError: 'FileNotFoundError' object has no attribute 'cmd'

I have searched on it but can't get any solution.

Upvotes: 2

Views: 3848

Answers (1)

Jean-Fran&#231;ois Fabre
Jean-Fran&#231;ois Fabre

Reputation: 140286

The root cause is this line:

output = subprocess.check_output(['pip'] + args, stderr=subprocess.STDOUT)

so put the PATH on the pip executable location and it should work:

set PATH=%PATH%;C:\Python34\Scripts

At first glance, sounds that the package is not very adapted to Windows environment... The double exception is not very nice, and calling pip without any path can be a problem.

Upvotes: 2

Related Questions