2013-02-16 13 views
5

Zainstalowałem SCons 2.2.0 w Pythonie 2.7 na Windows 7. Kiedy uruchomię "scons" z cmd i otrzymam komunikat o błędzie "scons nie jest rozpoznawany i wewnętrzne lub zewnętrzne polecenie" Jak mogę to rozwiązać?Uruchamianie Scons 2.2.0 na Windows 7 cmd


Problem polega na tym, że scons-2.2.0-setup.exe nie ustawia ścieżki w systemie. Scons.bat i scons-2.2.0.bat znajdują się w folderze "C:/Python27/Scripts". Ustawienie tego na ścieżce rozwiązuje problem. Teraz pojawia się nowy problem podczas próby skompilowania prostego pliku C++ z komunikatem "cl" nie jest rozpoznawany jako wewnętrzne lub zewnętrzne polecenie. (Windows 7 64 bitowy). Wszelkie pomysły mogą być pomocne.

Odpowiedz

6

Czy zainstalowałeś go za pomocą SCons windows installer? Powinien wszystko dla ciebie ustawić.

Według SCons installation instructions, SCons należy zainstalować tutaj:

  • C: \ Python25 \ Scripts
  • C: \ Python25 \ scons

W twoim przypadku, wymienić c:\Python25 z lokalizacja twojej instalacji pythong 2.7.

Upewnij się, że skrypt python SCons znajduje się na Twojej ścieżce. Konieczne może być ponowne uruchomienie cmd, aby zmiany w ścieżce miały wpływ.

+0

z tej strony mam scons scons-2.2.0-setup.exe dla Windows i nigdy ustawić ścieżkę dla mnie i nie może znaleźć konkretnego scons wykonywalny na ścieżce do! – Amani

+0

Link nie działa (już). Oto ogólna strona pobierania: http://www.scons.org/download.php – Geier

1

Aby użyć cl, musisz użyć wiersza poleceń Visual Studio, a następnie uruchomić scons z niego, jego plik .bat i folder scripts w instalacji Pythona. Umieszczanie skryptów na twojej ścieżce powinno rozwiązać problem, tak jak ja to ostatnio zrobiłem.

0

Zainstalowałem 2 najnowszą wersję (3.0.0 i 3.0.1).

sam problem, może dlatego

  1. Instalator systemu Windows szukał instalacji Python wewnątrz C:/Program Files ... i może tylko znaleźć Python 3.x (które nie jest kompatybilne)

  2. setup.py ma mały numer.

W każdym razie otrzymałem następujące rozwiązanie.

  1. instaluj z python setup.py install
  2. przejdź do katalogu instalacyjnego Python
  3. umieszczone albo (lub oba) z następujących plików w podkatalogu Skrypty:

    • scons.bat Jeśli prowadzisz scons z cmd
    • scons jeśli uruchomić scons z Msys lub Cygwin

Włożyłem pod kodem tych 2 skryptów (.bat był częścią źródła i .sh została zainspirowana od niego).

pliku <Python_dir>/Scripts/scons.bat

@REM Copyright (c) 2001 - 2017 The SCons Foundation 
@REM src/script/scons.bat rel_3.0.0:4395:8972f6a2f699 2017/09/18 12:59:24 bdbaddog 
@echo off 
set SCONS_ERRORLEVEL= 
if "%OS%" == "Windows_NT" goto WinNT 

@REM for 9x/Me you better not have more than 9 args 
python -c "from os.path import join; import sys; sys.path = [ join(sys.prefix, 'Lib', 'site-packages', 'scons-3.0.0'), join(sys.prefix, 'Lib', 'site-packages', 'scons'), join(sys.prefix, 'scons-3.0.0'), join(sys.prefix, 'scons')] + sys.path; import SCons.Script; SCons.Script.main()" %1 %2 %3 %4 %5 %6 %7 %8 %9 
@REM no way to set exit status of this script for 9x/Me 
goto endscons 

@REM Credit where credit is due: we return the exit code despite our 
@REM use of setlocal+endlocal using a technique from Bear's Journal: 
@REM http://code-bear.com/bearlog/2007/06/01/getting-the-exit-code-from-a-batch-file-that-is-run-from-a-python-program/ 

:WinNT 
setlocal 
@REM ensure the script will be executed with the Python it was installed for 
set path=%~dp0;%~dp0..;%path% 
@REM try the script named as the .bat file in current dir, then in Scripts subdir 
set scriptname=%~dp0%~n0.py 
if not exist "%scriptname%" set scriptname=%~dp0Scripts\%~n0.py 
python "%scriptname%" %* 
endlocal & set SCONS_ERRORLEVEL=%ERRORLEVEL% 

if NOT "%COMSPEC%" == "%SystemRoot%\system32\cmd.exe" goto returncode 
if errorlevel 9009 echo you do not have python in your PATH 
goto endscons 

:returncode 
exit /B %SCONS_ERRORLEVEL% 

:endscons 
call :returncode %SCONS_ERRORLEVEL% 

pliku <Python_dir>/Scripts/scons

#!/bin/bash 

# Script to launch scons from MSys or Cygwin 
# Inspired by scons.bat delivered with SCons 

# Ensure the script will be executed with the Python it was installed for 
BASEDIR=$(dirname "$0") 
PATH="$BASEDIR:$BASEDIR/..:$PATH" 

# Try the script named as the .bat file in current dir, then in Scripts subdir 
BASENAME=$(basename "$0") 
SCRIPT=${BASENAME%.*} 
SCRIPTNAME="$BASEDIR/$SCRIPT.py" 
if ! [ -f "$SCRIPTNAME" ]; then 
    SCRIPTNAME="$BASEDIR/Scripts/$SCRIPT.py" 
fi 

# Run 
python "$SCRIPTNAME" [email protected] 
SCONS_ERRORLEVEL=$? 

# Check error code 
if [ SCONS_ERRORLEVEL == 9009 ]; then 
    echo "You do not have python in your PATH" 
fi 

# End 
exit $SCONS_ERRORLEVEL 
Powiązane problemy