Python3 работает старая версия скрипта - PullRequest
0 голосов
/ 06 марта 2019

Я изменил скрипт, закомментировав раздел и добавив несколько операторов печати над ним для целей тестирования, проблема в том, что когда я запускаю скрипт из любого другого каталога, кроме того, в котором он находится, python запускает старую версиюсценарий.Очистка __pycache__ не имела никакого эффекта.

Вот этот скрипт на python:

import discord
import watson
import configparser
import os
from discord.ext.commands import Bot
from getpass import getuser

print("WHY ISN'T THIS BEING CALLED!!")

#print(os.getcwd())
#os.chdir("/home/{}/discordBotStaging".format(getuser()))
#print(os.getcwd())

#if(not os.path.isfile("./config.ini")):
#    print("No config file found, make sure you have one in the same directory as this python script\nexiting")
#    quit()

config = configparser.ConfigParser()
config.read("./config.ini")

TOKEN = config["DEFAULT"]["DISCORD_KEY"]
BOT_PREFIX = ("!", "$")

client = Bot(command_prefix=BOT_PREFIX)

@client.command(name="memealyze",
        description="When uploading image include command \"!memealyze\" | \"!Memealyze\" | \"!MemeAlyze\" | \"!ma\" as a comment",
        brief="Neural network put to good use",
        aliases=["Memealyze", "MemeAlyze", "ma"],
        pass_context=True)

async def GetMemeContents(context):
    await client.say("Sending image to the mothership, hold tight.")

    if(not context.message.attachments):
        await client.say(
                "Couldn't find image attachement. Make sure you include \"!memealyze\" or any of it's variants as a comment when submitting an image")
        return

    imageUrl = str(context.message.attachments[0]["url"])
    messageContent = ""
    resultDict = watson.ReturnWatsonResults(imageUrl)

    for key,val in resultDict.items():
        messageContent += "{} : {}%\n".format(key, val)

    await client.say("Done, the boys at IBM said they found this:\n" + messageContent)

client.run(TOKEN)

А вот проблема:

yugnut@RyzenBuild:~$ python3 discordBotStaging/main.py
No config file found, make sure you have one in the same directory as this python script
exiting
yugnut@RyzenBuild:~$

yugnut@RyzenBuild:~/discordBotStaging$ python3 main.py
WHY ISN'T THIS BEING CALLED!!
^Cyugnut@RyzenBuild:~/discordBotStaging$

РЕДАКТИРОВАТЬ:

@ Предложения ShadowRanger:

Попробуйте переместить печать над всеми импортами в вашем скрипте.

Это дает многообещающие результаты, я получаювыполнив эту попытку, но сразу после этого я все еще сталкиваюсь с той же проблемой

Вы не можете использовать относительные пути, подобные этому, если файл конфигурации должен находиться в том же каталоге, что и скрипт;Вы должны сделать config.read(os.path.join(os.path.dirname(__file__), 'config.ini'))

Я думаю, что мое невежество показывает: ^), я также изменил это в своем скрипте

После внесения этих изменений вместе с попыткой запуститьскрипт после комментирования моей import configparser строки я все еще получаю ту же ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...