f string provides invalid syntax error only on an ubuntu server












0














This code functions perfectly well on my computer, but when used on the droplet server, it provides me with an invalid Syntax Error. Why I swap from F string to %, it doesn't message the channel that I need. I'm at a loss as to how to fix this, and would appreciate any help provided.



    @client.event
async def on_message(message):
author = message.author
chan1 = client.get_channel('505801900361515008')
chan2 = client.get_channel('505801944707760138')
chan3 = client.get_channel('506194214309068800')
print (message.content)
if not message.server and message.content.startswith('apply'):
await client.send_message(author, 'Your application has been forwarded to the Department of Studies and Development! Enjoy our anime, and off topic channels while youre around!')
await client.send_message(chan1, f'{author.mention} has applied for membership, so please hurry back with a response! Content: {message.content}')
elif not message.server and message.content.startswith('diplo'):
await client.send_message(author, 'Your message has been forwarded to the Department of Investigation! Enjoy our anime, and off topic channels while youre around!')
await client.send_message(chan2, f'{author.mention} has applied for a diplomat mask, so please hurry back with a response! Content: {message.content}')
elif not message.server and message.content.startswith('req'):
await client.send_message(author, 'Your message has been forwarded to the Department of Resource Procurement! The staffers will react to the message with a green checkmark when its been processed.')
await client.send_message(chan3, f'{author.mention} has made an economic request, so please hurry back with a response! Content: {message.content}')
await client.process_commands(message)









share|improve this question


















  • 2




    If the server is not running Python 3.6+ it will not support f-strings that's why it'll throw a SyntaxError. Perhaps try str.format() instead?
    – Idlehands
    Nov 12 at 18:50








  • 1




    Probably you did not upgrade to Python-3.6.
    – Willem Van Onsem
    Nov 12 at 18:53
















0














This code functions perfectly well on my computer, but when used on the droplet server, it provides me with an invalid Syntax Error. Why I swap from F string to %, it doesn't message the channel that I need. I'm at a loss as to how to fix this, and would appreciate any help provided.



    @client.event
async def on_message(message):
author = message.author
chan1 = client.get_channel('505801900361515008')
chan2 = client.get_channel('505801944707760138')
chan3 = client.get_channel('506194214309068800')
print (message.content)
if not message.server and message.content.startswith('apply'):
await client.send_message(author, 'Your application has been forwarded to the Department of Studies and Development! Enjoy our anime, and off topic channels while youre around!')
await client.send_message(chan1, f'{author.mention} has applied for membership, so please hurry back with a response! Content: {message.content}')
elif not message.server and message.content.startswith('diplo'):
await client.send_message(author, 'Your message has been forwarded to the Department of Investigation! Enjoy our anime, and off topic channels while youre around!')
await client.send_message(chan2, f'{author.mention} has applied for a diplomat mask, so please hurry back with a response! Content: {message.content}')
elif not message.server and message.content.startswith('req'):
await client.send_message(author, 'Your message has been forwarded to the Department of Resource Procurement! The staffers will react to the message with a green checkmark when its been processed.')
await client.send_message(chan3, f'{author.mention} has made an economic request, so please hurry back with a response! Content: {message.content}')
await client.process_commands(message)









share|improve this question


















  • 2




    If the server is not running Python 3.6+ it will not support f-strings that's why it'll throw a SyntaxError. Perhaps try str.format() instead?
    – Idlehands
    Nov 12 at 18:50








  • 1




    Probably you did not upgrade to Python-3.6.
    – Willem Van Onsem
    Nov 12 at 18:53














0












0








0







This code functions perfectly well on my computer, but when used on the droplet server, it provides me with an invalid Syntax Error. Why I swap from F string to %, it doesn't message the channel that I need. I'm at a loss as to how to fix this, and would appreciate any help provided.



    @client.event
async def on_message(message):
author = message.author
chan1 = client.get_channel('505801900361515008')
chan2 = client.get_channel('505801944707760138')
chan3 = client.get_channel('506194214309068800')
print (message.content)
if not message.server and message.content.startswith('apply'):
await client.send_message(author, 'Your application has been forwarded to the Department of Studies and Development! Enjoy our anime, and off topic channels while youre around!')
await client.send_message(chan1, f'{author.mention} has applied for membership, so please hurry back with a response! Content: {message.content}')
elif not message.server and message.content.startswith('diplo'):
await client.send_message(author, 'Your message has been forwarded to the Department of Investigation! Enjoy our anime, and off topic channels while youre around!')
await client.send_message(chan2, f'{author.mention} has applied for a diplomat mask, so please hurry back with a response! Content: {message.content}')
elif not message.server and message.content.startswith('req'):
await client.send_message(author, 'Your message has been forwarded to the Department of Resource Procurement! The staffers will react to the message with a green checkmark when its been processed.')
await client.send_message(chan3, f'{author.mention} has made an economic request, so please hurry back with a response! Content: {message.content}')
await client.process_commands(message)









share|improve this question













This code functions perfectly well on my computer, but when used on the droplet server, it provides me with an invalid Syntax Error. Why I swap from F string to %, it doesn't message the channel that I need. I'm at a loss as to how to fix this, and would appreciate any help provided.



    @client.event
async def on_message(message):
author = message.author
chan1 = client.get_channel('505801900361515008')
chan2 = client.get_channel('505801944707760138')
chan3 = client.get_channel('506194214309068800')
print (message.content)
if not message.server and message.content.startswith('apply'):
await client.send_message(author, 'Your application has been forwarded to the Department of Studies and Development! Enjoy our anime, and off topic channels while youre around!')
await client.send_message(chan1, f'{author.mention} has applied for membership, so please hurry back with a response! Content: {message.content}')
elif not message.server and message.content.startswith('diplo'):
await client.send_message(author, 'Your message has been forwarded to the Department of Investigation! Enjoy our anime, and off topic channels while youre around!')
await client.send_message(chan2, f'{author.mention} has applied for a diplomat mask, so please hurry back with a response! Content: {message.content}')
elif not message.server and message.content.startswith('req'):
await client.send_message(author, 'Your message has been forwarded to the Department of Resource Procurement! The staffers will react to the message with a green checkmark when its been processed.')
await client.send_message(chan3, f'{author.mention} has made an economic request, so please hurry back with a response! Content: {message.content}')
await client.process_commands(message)






python ubuntu discord






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 12 at 18:47









Javier Smith

12




12








  • 2




    If the server is not running Python 3.6+ it will not support f-strings that's why it'll throw a SyntaxError. Perhaps try str.format() instead?
    – Idlehands
    Nov 12 at 18:50








  • 1




    Probably you did not upgrade to Python-3.6.
    – Willem Van Onsem
    Nov 12 at 18:53














  • 2




    If the server is not running Python 3.6+ it will not support f-strings that's why it'll throw a SyntaxError. Perhaps try str.format() instead?
    – Idlehands
    Nov 12 at 18:50








  • 1




    Probably you did not upgrade to Python-3.6.
    – Willem Van Onsem
    Nov 12 at 18:53








2




2




If the server is not running Python 3.6+ it will not support f-strings that's why it'll throw a SyntaxError. Perhaps try str.format() instead?
– Idlehands
Nov 12 at 18:50






If the server is not running Python 3.6+ it will not support f-strings that's why it'll throw a SyntaxError. Perhaps try str.format() instead?
– Idlehands
Nov 12 at 18:50






1




1




Probably you did not upgrade to Python-3.6.
– Willem Van Onsem
Nov 12 at 18:53




Probably you did not upgrade to Python-3.6.
– Willem Van Onsem
Nov 12 at 18:53












1 Answer
1






active

oldest

votes


















0














Your local machine is running >= python 3.6



Your droplet is running < python 3.6



F strings are python 3.6 and above.



So you can either downgrade your virtual environment in your local machine or upgrade the droplet.



Downgrading the virtual environment would probably be quicker:



virtualenv .venv -p python3.6



Then use str.format instead of f strings






share|improve this answer





















    Your Answer






    StackExchange.ifUsing("editor", function () {
    StackExchange.using("externalEditor", function () {
    StackExchange.using("snippets", function () {
    StackExchange.snippets.init();
    });
    });
    }, "code-snippets");

    StackExchange.ready(function() {
    var channelOptions = {
    tags: "".split(" "),
    id: "1"
    };
    initTagRenderer("".split(" "), "".split(" "), channelOptions);

    StackExchange.using("externalEditor", function() {
    // Have to fire editor after snippets, if snippets enabled
    if (StackExchange.settings.snippets.snippetsEnabled) {
    StackExchange.using("snippets", function() {
    createEditor();
    });
    }
    else {
    createEditor();
    }
    });

    function createEditor() {
    StackExchange.prepareEditor({
    heartbeatType: 'answer',
    autoActivateHeartbeat: false,
    convertImagesToLinks: true,
    noModals: true,
    showLowRepImageUploadWarning: true,
    reputationToPostImages: 10,
    bindNavPrevention: true,
    postfix: "",
    imageUploader: {
    brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
    contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
    allowUrls: true
    },
    onDemand: true,
    discardSelector: ".discard-answer"
    ,immediatelyShowMarkdownHelp:true
    });


    }
    });














    draft saved

    draft discarded


















    StackExchange.ready(
    function () {
    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268310%2ff-string-provides-invalid-syntax-error-only-on-an-ubuntu-server%23new-answer', 'question_page');
    }
    );

    Post as a guest















    Required, but never shown

























    1 Answer
    1






    active

    oldest

    votes








    1 Answer
    1






    active

    oldest

    votes









    active

    oldest

    votes






    active

    oldest

    votes









    0














    Your local machine is running >= python 3.6



    Your droplet is running < python 3.6



    F strings are python 3.6 and above.



    So you can either downgrade your virtual environment in your local machine or upgrade the droplet.



    Downgrading the virtual environment would probably be quicker:



    virtualenv .venv -p python3.6



    Then use str.format instead of f strings






    share|improve this answer


























      0














      Your local machine is running >= python 3.6



      Your droplet is running < python 3.6



      F strings are python 3.6 and above.



      So you can either downgrade your virtual environment in your local machine or upgrade the droplet.



      Downgrading the virtual environment would probably be quicker:



      virtualenv .venv -p python3.6



      Then use str.format instead of f strings






      share|improve this answer
























        0












        0








        0






        Your local machine is running >= python 3.6



        Your droplet is running < python 3.6



        F strings are python 3.6 and above.



        So you can either downgrade your virtual environment in your local machine or upgrade the droplet.



        Downgrading the virtual environment would probably be quicker:



        virtualenv .venv -p python3.6



        Then use str.format instead of f strings






        share|improve this answer












        Your local machine is running >= python 3.6



        Your droplet is running < python 3.6



        F strings are python 3.6 and above.



        So you can either downgrade your virtual environment in your local machine or upgrade the droplet.



        Downgrading the virtual environment would probably be quicker:



        virtualenv .venv -p python3.6



        Then use str.format instead of f strings







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 12 at 20:11









        rikAtee

        4,77542956




        4,77542956






























            draft saved

            draft discarded




















































            Thanks for contributing an answer to Stack Overflow!


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.





            Some of your past answers have not been well-received, and you're in danger of being blocked from answering.


            Please pay close attention to the following guidance:


            • Please be sure to answer the question. Provide details and share your research!

            But avoid



            • Asking for help, clarification, or responding to other answers.

            • Making statements based on opinion; back them up with references or personal experience.


            To learn more, see our tips on writing great answers.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53268310%2ff-string-provides-invalid-syntax-error-only-on-an-ubuntu-server%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown





















































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown

































            Required, but never shown














            Required, but never shown












            Required, but never shown







            Required, but never shown







            Popular posts from this blog

            Bressuire

            Vorschmack

            Quarantine