私はpip経由でretextをインストールしました。私はそれのためのアイコンをダウンロードする必要がありますが、私はretextのフォルダに "retext"を実行しない限り、それは動作しません(メニューにアイコンなし)を実現します。この「参加」は何をしていますか?
私はそれを修正しようとしましたが、私のパイソンのスキルはあまり強くありません。
現時点では、icon_pathに必要なパスを強制します。
#icon_path = 'icons/'
icon_path = '/usr/local/lib/python3.5/site-packages/retext/icons/'
この行の仕組みは誰か教えてください。
datadirs = [join(d, 'retext') for d in datadirs]
ありがとうございます。
import sys
import markups
import markups.common
from os.path import dirname, exists, join
from PyQt5.QtCore import QByteArray, QLocale, QSettings, QStandardPaths
from PyQt5.QtGui import QFont
app_version = "6.0.1"
settings = QSettings('ReText project', 'ReText')
if not str(settings.fileName()).endswith('.conf'):
# We are on Windows probably
settings = QSettings(QSettings.IniFormat, QSettings.UserScope,
'ReText project', 'ReText')
datadirs = QStandardPaths.standardLocations(QStandardPaths.GenericDataLocation)
datadirs = [join(d, 'retext') for d in datadirs]
if sys.platform == "win32":
# Windows compatibility: Add "PythonXXX\share\" path
datadirs.append(join(dirname(sys.executable), 'share', 'retext'))
if '__file__' in locals():
datadirs = [dirname(dirname(__file__))] + datadirs
#icon_path = 'icons/'
icon_path = '/usr/local/lib/python3.5/site-packages/retext/icons/'
for dir in datadirs:
if exists(join(dir, 'icons')):
icon_path = join(dir, 'icons/')
break
'join'は最終的なimport文から来ます:' from os.path import dirname、exists、join'です。パスセグメントの結合に使用されます。詳細については、os.pathの公式のPythonドキュメントを読んでください。 'datadirs = [datadirsのdのための(d、 'retext')]は、[list comprehension](https://docs.python.org/2/tutorial/datastructures.html#list-comprehensions)です。 'datadirs'のディレクトリパスを' retext''というパスセグメントで置き換えます。基本的に 'datadirs'のすべてのディレクトリパスのretextサブフォルダを取得しています。 –