2014-06-20 6 views
3

저는 최근에 Anaconda Python 배포판으로 전환 했으므로 끊임없이 노력하고 있습니다. 나는 this yaml-related package를 설치하고 싶어하고 그것을 위해 이미 CONDA 조리법이 아니기 때문에, 나는 다음과 같은 출력 결과 Anaconda Python Conda pipbuild가 WindowsError와 실패하여 파일을 찾을 수 없습니다.

conda pipbuild layered-yaml-attrdict-config 

(나는 내 ​​시스템 경로의 비 관련 항목 제거) 시도 :

C:\Anaconda>conda install layered-yaml-attrdict-config 
Fetching package metadata: .. 
Error: No packages found matching: layered-yaml-attrdict-config 

C:\Anaconda>conda pipbuild layered-yaml-attrdict-config 
Fetching package metadata: .. 
Creating standard recipe for layered-yaml-attrdict-config-14.06.7 
Using url https://pypi.python.org/packages/source/l/layered-yaml-attrdict-config 
/layered-yaml-attrdict-config-14.06.7.tar.gz (6147) for layered-yaml-attrdict-co 
nfig. 
Downloading layered-yaml-attrdict-config (use --no-download to skip this step) 
Unpacking layered-yaml-attrdict-config... 
done 
working in c:\users\bnables\appdata\local\temp\1\tmp07kkdbconda_skeleton_layered 
-yaml-attrdict-config 
Fetching package metadata: ... 
Solving package specifications: . 
The following packages will be downloaded: 

    package     |   build 
    ---------------------------|----------------- 
    python-2.7.7    |    2  17.1 MB 

The following packages will be linked: 

    package     |   build 
    ---------------------------|----------------- 
    python-2.7.7    |    2 hard-link 
    pyyaml-3.11    |   py27_0 hard-link 
    setuptools-3.6    |   py27_0 hard-link 

Fetching packages ... 
python-2.7.7-2 100% |###############################| Time: 0:00:08 2.00 MB/s 
Extracting packages ... 
[  COMPLETE  ] |#################################################| 100% 
Linking packages ... 
[  COMPLETE  ] |#################################################| 100% 
Applying patch: u'c:\\users\\bnables\\appdata\\local\\temp\\1\\tmp07kkdbconda_sk 
eleton_layered-yaml-attrdict-config\\pypi-distutils.patch' 
Error: 
    Did not find 'patch' in: C:\Anaconda\envs\_build\Scripts;C:\Anaconda\Scripts 
;C:\Anaconda;C:\Anaconda\Scripts 

    You can install 'patch' using apt-get, yum (Linux), Xcode (MacOSX), 
    or conda, cygwin (Windows), 


conda create -n _pipbuild_ --yes python pip 
Fetching package metadata: .. 
Solving package specifications: . 
Package plan for installation in environment C:\Anaconda\envs\_pipbuild_: 

The following packages will be linked: 

    package     |   build 
    ---------------------------|----------------- 
    pip-1.5.6     |   py27_0 hard-link 
    python-2.7.7    |    2 hard-link 
    setuptools-3.6    |   py27_0 hard-link 

WARNING: the process C:\Anaconda\python.exe C:\Anaconda\Scripts\conda-script.py 
pipbuild layered-yaml-attrdict-config (7712) is running 
WARNING: the process C:\Anaconda\Scripts\conda-pipbuild.exe layered-yaml-attrdic 
t-config (4596) is running 
WARNING: the process C:\Anaconda\python.exe C:\Anaconda\Scripts\conda-pipbuild-s 
cript.py layered-yaml-attrdict-config (7208) is running 
WARNING: Continuing installation while the above processes are running is 
not recommended. Please, close all Anaconda programs before installing or 
updating things with conda. 

Extracting packages ... 
[  COMPLETE  ] |#################################################| 100% 
Linking packages ... 
[  COMPLETE  ] |#################################################| 100% 
# 
# To activate this environment, use: 
# > activate _pipbuild_ 
# 
C:\Anaconda\envs\_pipbuild_/bin/pip install layered-yaml-attrdict-config==14.06. 
7 
Traceback (most recent call last): 
    File "C:\Anaconda\Scripts\conda-pipbuild-script.py", line 4, in <module> 
    sys.exit(main()) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 76, in 
main 
    args.func(args, p) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 347, i 
n execute 
    build_package(package, version) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 300, i 
n build_package 
    directory, dependencies = make_recipe(package, version) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 244, i 
n make_recipe 
    depends = get_all_dependencies(package, version) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 214, i 
n get_all_dependencies 
    ret = subprocess.Popen(cmd2.split()).wait() 
    File "C:\Anaconda\lib\subprocess.py", line 710, in __init__ 
    errread, errwrite) 
    File "C:\Anaconda\lib\subprocess.py", line 958, in _execute_child 
    startupinfo) 
WindowsError: [Error 2] The system cannot find the file specified 

C:\Anaconda> 

내가 찾고있는 파일이 무엇인지 알지 못해서 무슨 일이 일어 났는지 모르겠다. 콘돔 조리법에 관해서는 아직 알지 못한다. 예외적 인 부분은 없지만 이런 종류의 오류는주지 않는다.

나는 cond를 통해 설치하기를 원했기 때문에 모든 것들이 pip에 의해 관리되는 대신에 conda로 관리 될 수있었습니다.

main_pipbuild.py 소스를 파고 들자면 C:\Anaconda\envs\_pipbuild_\bin\pip install package==version (적절한 패키지와 버전으로)을 실행하려고하는 것 같습니다. 내 C : \ Anaconda \ envs_pipbuild_를 볼 때 빈 폴더가 없으므로 pip가 pipbuild 환경에 올바르게 설치되지 않았을 것으로 생각합니다. 그래서이와 함께 어떤 문제를 발견

C:\Anaconda>conda pipbuild layered-yaml-attrdict-config 
Fetching package metadata: .. 
Creating standard recipe for layered-yaml-attrdict-config-14.06.7 
Using url https://pypi.python.org/packages/source/l/layered-yaml-attrdict-config/layered-yaml-attrdict-config-14.06.7.ta 
r.gz (6147) for layered-yaml-attrdict-config. 
Downloading layered-yaml-attrdict-config (use --no-download to skip this step) 
Unpacking layered-yaml-attrdict-config... 
done 
working in c:\users\bnables\appdata\local\temp\1\tmp7cuibgconda_skeleton_layered-yaml-attrdict-config 
Fetching package metadata: ... 
Solving package specifications: .69 unparsed bytes left at the end of stream 
file 1/1:  core.py 
hunk no.1 doesn't match source file at line 165 
    expected: 
    actual :     raise SystemExit, "error: " + str(msg) 
source file is different - core.py 

Applying patch: u'c:\\users\\bnables\\appdata\\local\\temp\\1\\tmp7cuibgconda_skeleton_layered-yaml-attrdict-config\\pyp 
i-distutils.patch' 
Traceback (most recent call last): 
    File "C:\Anaconda\Scripts\conda-skeleton-script.py", line 4, in <module> 
    sys.exit(main()) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_skeleton.py", line 124, in main 
    args.func(args, p) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_skeleton.py", line 135, in execute 
    pypi.main(args, parser) 
    File "C:\Anaconda\lib\site-packages\conda_build\pypi.py", line 314, in main 
    run_setuppy(src_dir, tempdir, args) 
    File "C:\Anaconda\lib\site-packages\conda_build\pypi.py", line 485, in run_setuppy 
    apply_patch(join(stdlib_dir, 'distutils'), patch) 
    File "C:\Anaconda\lib\site-packages\conda_build\source.py", line 202, in apply_patch 
    check_call([patch, '-p0', '-i', path], cwd=src_dir) 
    File "C:\Anaconda\lib\subprocess.py", line 540, in check_call 
    raise CalledProcessError(retcode, cmd) 
subprocess.CalledProcessError: Command '[u'C:\\Anaconda\\Scripts\\patch.bat', u'-p0', u'-i', u'c:\\users\\bnables\\appda 
ta\\local\\temp\\1\\tmp7cuibgconda_skeleton_layered-yaml-attrdict-config\\pypi-distutils.patch']' returned non-zero exit 
status -1 

conda create -n _pipbuild_ --yes python pip 
Error: prefix already exists: C:\Anaconda\envs\_pipbuild_ 
C:\Anaconda\envs\_pipbuild_/bin/pip install layered-yaml-attrdict-config==14.06.7 
Traceback (most recent call last): 
    File "C:\Anaconda\Scripts\conda-pipbuild-script.py", line 4, in <module> 
    sys.exit(main()) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 76, in main 
    args.func(args, p) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 347, in execute 
    build_package(package, version) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 300, in build_package 
    directory, dependencies = make_recipe(package, version) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 244, in make_recipe 
    depends = get_all_dependencies(package, version) 
    File "C:\Anaconda\lib\site-packages\conda_build\main_pipbuild.py", line 214, in get_all_dependencies 
    ret = subprocess.Popen(cmd2.split()).wait() 
    File "C:\Anaconda\lib\subprocess.py", line 710, in __init__ 
    errread, errwrite) 
    File "C:\Anaconda\lib\subprocess.py", line 958, in _execute_child 
    startupinfo) 
WindowsError: [Error 2] The system cannot find the file specified 

: conda install patchpatch를 설치 한 후 "패치"또한 문제가 될 수 있습니다 ...

을 가지고 있지에 대한 이전의 경고가 나는 다음과 같은 결과를 다시 시도 패키지는 Solving package specifications: .69 unparsed bytes left at the end of stream 일 것입니다. 그렇다면 그것은 분명히 실패하는 패치를합니다. 그런 다음 pip install을 시도하고 pipbuild 환경에서 bin/pip 디렉토리를 다시 찾을 수 없습니다.

C:\Anaconda\envs\_pipbuild_\Scripts\pip.exe에서 핍을 찾고 있습니까? 그것은 존재하기 때문입니다.

버그 인 경우 다음에 신고하십시오. https://github.com/conda/conda-build/issues. 더 이상하기 전에 피드백을 기다릴 것입니다.

도움이 될 것입니다.

답변

0

동일한 문제에 대한 픽스가 Python 3의 https://groups.google.com/a/continuum.io/d/msg/anaconda/6_reeaIjx5c/fhRjbA4AdQkJ에 있습니다. 여기에는 Python 표준 라이브러리에서 distutils \ cygwinccompiler.py 파일을 편집하는 작업이 포함됩니다.

cygwinccompiler의 Python 2 버전이 subprocess.check_output 대신 os.popen을 사용하기 때문에 일부 번역이 필요할 수 있지만 파이썬 2에서 동일한 작업을 수행 할 수 있다고 생각합니다. 파일의 관련 위치에서 subprocess.check_output(['gcc', '-dumpmachine'], shell=True)을 사용할 수 있다고 가정하면 문제가 해결됩니다.

1

"conda pipbuild package-name"으로 PyPI 패키지를 만들 때 비슷한 문제가 발생했으며 Windows 7 (x64)에서 실행할 수 없었습니다. "conda install package-name"을 사용하여 특정 condit 환경에 패키지를 설치하려면 다음과 같이 유용한 해결책을 찾았습니다.

  • "pip install package -name "
  • "binstar upload % conda_install_path %/pkgs/package-name-ver-py27.tar "를 사용하여 binstar 계정에 패키지를 업로드하십시오.BZ2, CONDA 내가 그것뿐만 아니라 당신을 위해 작동 희망 -c https://conda.binstar.org/user-name 패키지 이름 -p % 경로 - 투 - CONDA-ENV % "

를 설치"

  • 이있는 특정 CONDA의 ENV에 패키지를 설치 "

    최고, Slobodan