Swift + Python: No module named librosa or pyaudio












2















I am performing a simple test to load Python libraries in a Swift app (below is the code). All the Python libraries load OK except librosa and pyaudio (yes I have them installed via pip and yes they work in native Python). When I run the app I get the error message "Python exception: No module named x", where x is librosa or pyaudio. The other Python libraries load and work perfectly. So, what do I have to do in order to get the librosa and pyaudio libraries to work in Swift?



let np = Python.import("numpy")
let plt = Python.import("matplotlib.pyplot")
let rosa = Python.import("librosa")
let audio = Python.import("pyaudio")
let display = Python.import("IPython.display")
let pd = Python.import("pandas")


My system:



macOS Mojave: Version 10.14.2 Beta (18C38b)
Xcode: Version 10.1 (10B61)
Toolchain: Swift for TensorFlow Development Snapshot 2018-10-17









share|improve this question























  • did you try pip install -u librosa maybe? or sudo pip install librosa.... Also what happens when you type import librosa.display ? or run this sudo apt-get install python-pyaudio. If none of those work make sure you ran the setup.py for them

    – Joe A
    Nov 14 '18 at 21:43











  • Are you sure that you're using the same version of Python in Swift? Maybe you're using Py3 in one case and 2 in the other so it doesn't find the modules because you only have them in Py3 (or vice versa).

    – Marco Bonelli
    Nov 14 '18 at 21:43


















2















I am performing a simple test to load Python libraries in a Swift app (below is the code). All the Python libraries load OK except librosa and pyaudio (yes I have them installed via pip and yes they work in native Python). When I run the app I get the error message "Python exception: No module named x", where x is librosa or pyaudio. The other Python libraries load and work perfectly. So, what do I have to do in order to get the librosa and pyaudio libraries to work in Swift?



let np = Python.import("numpy")
let plt = Python.import("matplotlib.pyplot")
let rosa = Python.import("librosa")
let audio = Python.import("pyaudio")
let display = Python.import("IPython.display")
let pd = Python.import("pandas")


My system:



macOS Mojave: Version 10.14.2 Beta (18C38b)
Xcode: Version 10.1 (10B61)
Toolchain: Swift for TensorFlow Development Snapshot 2018-10-17









share|improve this question























  • did you try pip install -u librosa maybe? or sudo pip install librosa.... Also what happens when you type import librosa.display ? or run this sudo apt-get install python-pyaudio. If none of those work make sure you ran the setup.py for them

    – Joe A
    Nov 14 '18 at 21:43











  • Are you sure that you're using the same version of Python in Swift? Maybe you're using Py3 in one case and 2 in the other so it doesn't find the modules because you only have them in Py3 (or vice versa).

    – Marco Bonelli
    Nov 14 '18 at 21:43
















2












2








2








I am performing a simple test to load Python libraries in a Swift app (below is the code). All the Python libraries load OK except librosa and pyaudio (yes I have them installed via pip and yes they work in native Python). When I run the app I get the error message "Python exception: No module named x", where x is librosa or pyaudio. The other Python libraries load and work perfectly. So, what do I have to do in order to get the librosa and pyaudio libraries to work in Swift?



let np = Python.import("numpy")
let plt = Python.import("matplotlib.pyplot")
let rosa = Python.import("librosa")
let audio = Python.import("pyaudio")
let display = Python.import("IPython.display")
let pd = Python.import("pandas")


My system:



macOS Mojave: Version 10.14.2 Beta (18C38b)
Xcode: Version 10.1 (10B61)
Toolchain: Swift for TensorFlow Development Snapshot 2018-10-17









share|improve this question














I am performing a simple test to load Python libraries in a Swift app (below is the code). All the Python libraries load OK except librosa and pyaudio (yes I have them installed via pip and yes they work in native Python). When I run the app I get the error message "Python exception: No module named x", where x is librosa or pyaudio. The other Python libraries load and work perfectly. So, what do I have to do in order to get the librosa and pyaudio libraries to work in Swift?



let np = Python.import("numpy")
let plt = Python.import("matplotlib.pyplot")
let rosa = Python.import("librosa")
let audio = Python.import("pyaudio")
let display = Python.import("IPython.display")
let pd = Python.import("pandas")


My system:



macOS Mojave: Version 10.14.2 Beta (18C38b)
Xcode: Version 10.1 (10B61)
Toolchain: Swift for TensorFlow Development Snapshot 2018-10-17






python swift pyaudio librosa






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Nov 14 '18 at 21:36









David CittadiniDavid Cittadini

154212




154212













  • did you try pip install -u librosa maybe? or sudo pip install librosa.... Also what happens when you type import librosa.display ? or run this sudo apt-get install python-pyaudio. If none of those work make sure you ran the setup.py for them

    – Joe A
    Nov 14 '18 at 21:43











  • Are you sure that you're using the same version of Python in Swift? Maybe you're using Py3 in one case and 2 in the other so it doesn't find the modules because you only have them in Py3 (or vice versa).

    – Marco Bonelli
    Nov 14 '18 at 21:43





















  • did you try pip install -u librosa maybe? or sudo pip install librosa.... Also what happens when you type import librosa.display ? or run this sudo apt-get install python-pyaudio. If none of those work make sure you ran the setup.py for them

    – Joe A
    Nov 14 '18 at 21:43











  • Are you sure that you're using the same version of Python in Swift? Maybe you're using Py3 in one case and 2 in the other so it doesn't find the modules because you only have them in Py3 (or vice versa).

    – Marco Bonelli
    Nov 14 '18 at 21:43



















did you try pip install -u librosa maybe? or sudo pip install librosa.... Also what happens when you type import librosa.display ? or run this sudo apt-get install python-pyaudio. If none of those work make sure you ran the setup.py for them

– Joe A
Nov 14 '18 at 21:43





did you try pip install -u librosa maybe? or sudo pip install librosa.... Also what happens when you type import librosa.display ? or run this sudo apt-get install python-pyaudio. If none of those work make sure you ran the setup.py for them

– Joe A
Nov 14 '18 at 21:43













Are you sure that you're using the same version of Python in Swift? Maybe you're using Py3 in one case and 2 in the other so it doesn't find the modules because you only have them in Py3 (or vice versa).

– Marco Bonelli
Nov 14 '18 at 21:43







Are you sure that you're using the same version of Python in Swift? Maybe you're using Py3 in one case and 2 in the other so it doesn't find the modules because you only have them in Py3 (or vice versa).

– Marco Bonelli
Nov 14 '18 at 21:43














1 Answer
1






active

oldest

votes


















1














The Swift for TensorFlow Python module is built linked against the system Python. So, if you use something like homebrew to install Python2/Python3 then Swift for TensorFlow will not see those packages installed. Therefore, you have to make sure that you uninstall python@2 and use the system Python. The system Python does not include pip and so you will need to install that. Once you have installed pip you can see that Swift for TensorFlow has already installed a few Python libraries for you (which is why matplotlib.pyplot and numpy could be imported). Now, you can pip install the Python libraries you need and they will indeed now be seen inside Swift for TensorFlow.






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%2f53309083%2fswift-python-no-module-named-librosa-or-pyaudio%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









    1














    The Swift for TensorFlow Python module is built linked against the system Python. So, if you use something like homebrew to install Python2/Python3 then Swift for TensorFlow will not see those packages installed. Therefore, you have to make sure that you uninstall python@2 and use the system Python. The system Python does not include pip and so you will need to install that. Once you have installed pip you can see that Swift for TensorFlow has already installed a few Python libraries for you (which is why matplotlib.pyplot and numpy could be imported). Now, you can pip install the Python libraries you need and they will indeed now be seen inside Swift for TensorFlow.






    share|improve this answer




























      1














      The Swift for TensorFlow Python module is built linked against the system Python. So, if you use something like homebrew to install Python2/Python3 then Swift for TensorFlow will not see those packages installed. Therefore, you have to make sure that you uninstall python@2 and use the system Python. The system Python does not include pip and so you will need to install that. Once you have installed pip you can see that Swift for TensorFlow has already installed a few Python libraries for you (which is why matplotlib.pyplot and numpy could be imported). Now, you can pip install the Python libraries you need and they will indeed now be seen inside Swift for TensorFlow.






      share|improve this answer


























        1












        1








        1







        The Swift for TensorFlow Python module is built linked against the system Python. So, if you use something like homebrew to install Python2/Python3 then Swift for TensorFlow will not see those packages installed. Therefore, you have to make sure that you uninstall python@2 and use the system Python. The system Python does not include pip and so you will need to install that. Once you have installed pip you can see that Swift for TensorFlow has already installed a few Python libraries for you (which is why matplotlib.pyplot and numpy could be imported). Now, you can pip install the Python libraries you need and they will indeed now be seen inside Swift for TensorFlow.






        share|improve this answer













        The Swift for TensorFlow Python module is built linked against the system Python. So, if you use something like homebrew to install Python2/Python3 then Swift for TensorFlow will not see those packages installed. Therefore, you have to make sure that you uninstall python@2 and use the system Python. The system Python does not include pip and so you will need to install that. Once you have installed pip you can see that Swift for TensorFlow has already installed a few Python libraries for you (which is why matplotlib.pyplot and numpy could be imported). Now, you can pip install the Python libraries you need and they will indeed now be seen inside Swift for TensorFlow.







        share|improve this answer












        share|improve this answer



        share|improve this answer










        answered Nov 15 '18 at 3:50









        David CittadiniDavid Cittadini

        154212




        154212






























            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.




            draft saved


            draft discarded














            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53309083%2fswift-python-no-module-named-librosa-or-pyaudio%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







            這個網誌中的熱門文章

            Xamarin.form Move up view when keyboard appear

            Post-Redirect-Get with Spring WebFlux and Thymeleaf

            Anylogic : not able to use stopDelay()