홈>
python setup.py 테스트, python setup.py 빌드 또는 python setup.py --help-commands를 실행할 때 "OSError : [Errno 2] 해당 파일 또는 디렉토리가 없습니다"라는 메시지가 표시됩니다.
지금까지 setuptools (현재 버전 41.0.1을 실행 중)를 업그레이드하려고 시도했지만 문제가 해결되지 않았습니다.
내 익명의 setup.py는 다음과 같습니다 :
from setuptools import setup, find_packages
def read_version():
with open('version') as ver:
return ver.read().strip()
config = {
'description': 'package',
'author': 'Me',
'author_email': '[email protected]',
'version': read_version(),
'packages': find_packages(),
'package_data': {
'manager.resources': ['*.yaml'],
},
'scripts': [],
'name': 'company.packagename',
'namespace_packages': ['company'],
'test_suite': 'tests',
'entry_points': {
'console_scripts': [
'launcher = manager_launcher:main',
'managerschemas = manager.validation:export',
'managertypes = manager.types:export',
]
},
'setup_requires': ['pytest-runner'],
'tests_require': [
'flake8',
'pylint',
'pytest',
'pytest-cov',
'pytest-mock',
],
}
if __name__ == '__main__':
setup(**config)
setup.cfg는 다음과 같습니다 :
[aliases]
test = pytest
[flake8]
max-line-length = 120
exclude = venv,.eggs
[tool:pytest]
addopts = -vvvv --cov=manager --cov-branch --cov-fail-under=100 --cov-report=term --cov-report=html --junitxml=junit.xml
testpaths = tests
내가받는 역 추적은 :
Traceback (most recent call last):
File "setup.py", line 40, in <module>
setup(**config)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/__init__.py", line 144, in setup
_install_setup_requires(attrs)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/__init__.py", line 139, in _install_setup_requires
dist.fetch_build_eggs(dist.setup_requires)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/dist.py", line 717, in fetch_build_eggs
replace_conflicting=True,
File "/home/vagrant/.local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 782, in resolve
replace_conflicting=replace_conflicting
File "/home/vagrant/.local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1065, in best_match
return self.obtain(req, installer)
File "/home/vagrant/.local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1077, in obtain
return installer(requirement)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/dist.py", line 784, in fetch_build_egg
return cmd.easy_install(req)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 679, in easy_install
return self.install_item(spec, dist.location, tmpdir, deps)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 705, in install_item
dists = self.install_eggs(spec, download, tmpdir)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 855, in install_eggs
return [self.install_wheel(dist_filename, tmpdir)]
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1073, in install_wheel
os.path.dirname(destination)
File "/usr/lib/python2.7/distutils/cmd.py", line 349, in execute
util.execute(func, args, msg, dry_run=self.dry_run)
File "/usr/lib/python2.7/distutils/util.py", line 309, in execute
func(*args)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/wheel.py", line 101, in install_as_egg
self._install_as_egg(destination_eggdir, zf)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/wheel.py", line 109, in _install_as_egg
self._convert_metadata(zf, destination_eggdir, dist_info, egg_info)
File "/home/vagrant/.local/lib/python2.7/site-packages/setuptools/wheel.py", line 157, in _convert_metadata
os.path.join(egg_info, 'PKG-INFO'),
OSError: [Errno 2] No such file or directory
- 답변 # 1
관련 자료
- c++ : 치명적인 오류 : opencv2 /opencv_modules.hpp : 해당 파일 또는 디렉토리 없음 #include "opencv2 /opencvv_modules.hpp"
- cmake : 치명적인 오류 : libusb /libusb.h : GNU 라디오 용 파일 또는 디렉토리 librtlsdr 설치 없음
- c++ - 오류 - 컴파일 된 모듈을 읽지 못했습니다 해당 파일 또는 디렉토리가 없습니다
- apt - dpkg -i 오류 - 열 수 없습니다 해당 파일 또는 디렉토리가 없습니다
- flutter - pub get 실행 중 오류 - 다른 프로세스에서 사용 중이 어서 디렉토리 이름을 바꾸지 못했습니다
- c# - # 오류가있는 net 파일 이름 - 404 :파일 또는 디렉터리를 찾을 수 없음
- php - laravel 8 - auth 디렉토리의 경로가 정의되지 않았습니다
- csv - python 오류 filenotfounderror - [errno 2] 해당 파일 또는 디렉토리가 없습니다
- Rsync 스크립트 오류 "Is a directory"
- javascript : 오류 : enoent : 해당 파일 또는 디렉토리, stat '/home/dylan/.steampath'
- python - isadirectoryerror - [errno 21] 이미지를 다른 파일로 복사하려고 할 때 디렉터리 오류입니다
- go - Docker Golang busybox "해당 파일 또는 디렉토리 없음"오류
- android - javaiofilenotfoundexception - eisdir (is a directory) 오류가 발생하는 이유는 무엇입니까?
- heroku 오류 - enoent : 해당 파일이나 디렉터리가 없습니다 'h :/_ netrc'를 엽니 다
Vagrant/Virtualbox의 동기화 된 폴더 지연으로 인해이 문제가 발생한 것으로 나타났습니다. 동기화 된 폴더를 사용하여 호스트 파일 시스템에서 공유되는 Vagrant VM 내에 Python 프로젝트를 빌드하려고했습니다. 동기화 된 폴더에서 프로젝트를 VM의 다른 폴더로 복사하면 빌드 할 수 있습니다. 작동하는 또 다른 더러운 해킹은 OS 예외를 발생시키는 os.rename 전에 157 행의 setuptools/wheel.py 소스 파일에 time.sleep (1)을 추가하는 것입니다. 이렇게하면 파일 시스템이 동기화 될 수 있으므로 문제를 해결할 수 있습니다.