pip用の単純なPythonパッケージを作成するときの権限

pip用の単純なPythonパッケージを作成するときの権限

python setup.py install(後で)使用して使用できるように、私が書いた単純なアプリケーションをパッケージ化したいと思いますpip install awesomeapp

アプリケーションは、同じディレクトリにある2つのファイルで構成されています。

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見つかったモジュールを使用してスクリプトを実行すると。 root以外のユーザーが読めない/usr/local/lib/python2.7/dist-packages権限でモジュールがインストールされました。-rw-r-----一般ユーザーが自分のアプリケーションを実行するためにrootを必要としないようにするには、何を変更する必要がありますか?

ベストアンサー1

.bash_profile私のファイルで犯人を見つけたようです。アイテムが含まれています

umask 027

その行をコメントアウトすると、権限が変更されます。

おすすめ記事