7

Jython で Python スクリプトを実行したい。

結果は正しく表示されますが、同時に「sys-package-mgr*: パッケージ キャッシュ ディレクトリを作成できません」という警告メッセージが表示されます。

どうすればこの問題を解決できますか?

前もって感謝します~~~

4

4 に答える 4

5

1) エラー メッセージ内のディレクトリへの書き込みを許可するようにパーミッションを変更する。

2) 設定によるpython.cachedir.skip = true

これを読むことができます:

http://www.jython.org/jythonbook/en/1.0/ModulesPackages.html#module-search-path-compilation-and-loading

さらなる洞察のために。

于 2013-07-20T03:54:50.630 に答える
1

これまでに見つけた最も簡単な修正は、次のことでした。

$ sudo chmod -R 777 /opt/jython/cachedir
于 2016-12-09T05:13:38.713 に答える
1

ディレクトリを誰でも書き込み可能にすると、問題が「なくなる」ことは確かですが、巨大なセキュリティ ホールが発生します。誰でも、ユーザーの jpython 環境で実行される、誰でも書き込み可能なディレクトリにコードを導入できます。

cachedir を skip に設定すると、パフォーマンスが低下する可能性があります (パフォーマンスを向上させる以外にキャッシュ スキームを実装する理由)。

代わりに、次のことを行いました。

新しいグループを作成しました (私の場合は eclipse ですが、jpython の可能性もあります)。そのグループに jpython のユーザーを追加しました。

$ sudo groupadd eclipse

次に、Eclipse プラグイン フォルダーとその子のグループを「Eclipse」に変更しました。

/opt/eclipse/plugins $ sudo chgrp -R eclipse *

次に、グループの権限を次のように変更しました

/opt/eclipse/plugins $ sudo chmod -R g+w *
/opt/eclipse/plugins $ find * -type d -print | sudo xargs chmod g+s

これにより、書き込み可能なグループが追加され、すべてのディレクトリに S_GID ビットが再帰的に設定されました。この最後のビットにより、作成された新しいディレクトリは、親と同じグループ ID を持つようになります。

最後の仕上げは、Eclipse ユーザーの umask を 007 に変更することでした。

$ sudo vi /etc/login.def

UMASK を 007 に変更します (022 から)。UMASK=007

于 2014-01-31T16:27:15.280 に答える