pip용 간단한 Python 패키지 생성 시 권한

pip용 간단한 Python 패키지 생성 시 권한

python setup.py install(나중에) 사용하고 사용할 수 있도록 제가 작성한 간단한 애플리케이션을 패키징하려고 합니다 pip install awesomeapp.

애플리케이션은 동일한 디렉터리에 있는 두 개의 파일로 구성됩니다.

awesomeapp
awesomemod.py

awesomeapp시작 스크립트(Python에서도 마찬가지)는 어디에 있고 실행됩니다 import awesomemod. 모든 것이 잘 작동하고 전반적으로 훌륭합니다. 다음으로 setup.py다음과 같은 파일을 만들었습니다 .

from distutils.core import setup
setup(name='awesomeapp',
  version='1.4',
  scripts=['awesomeapp'],
  py_modules=['awesomemod'],
  install_requires=['otherapp>1.0'],
  description='amazing app which does awesome things',
  # ...
  platforms='UNIX',
  long_description='bar',
  )

이제 (pip도 포함)를 사용한 설치가 sudo python setup.py install제대로 작동합니다. OSX에서는 모든 것이 예상대로 작동합니다. 그러나 Ubuntu(정확하고 안정적으로 테스트됨)에서는 오류가 발생합니다.

traceback (most recent call last):
  File "/usr/local/bin/awesomeapp", line 12, in <module>
    import awesomemod
ImportError: No module named awesomemod

awesomeapp스크립트를 실행할 때 . 그러나 sudo발견된 모듈을 사용하여 스크립트를 실행하면. 루트가 아닌 사용자가 읽을 수 없는 /usr/local/lib/python2.7/dist-packages권한으로 모듈이 설치되었습니다 . -rw-r-----일반 사용자가 내 애플리케이션을 실행하는 데 루트가 필요하지 않도록 하려면 무엇을 변경해야 합니까?

답변1

.bash_profile내 파일에서 범인을 찾은 것 같습니다. 항목이 포함되어 있습니다

umask 027

해당 줄을 주석 처리하면 권한이 수정됩니다!

관련 정보