<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
im surprised venv wasnt installed with python itself. &nbsp;fwiw installing on linux was a bit of a mess for me as well. But it is possible!
<div class=""><br class="">
<div class=""><br class="">
</div>
<div class=""><br class="">
<div><br class="">
<blockquote type="cite" class="">
<div class="">On Jan 12, 2021, at 4:24 PM, Forrest Curo &lt;<a href="mailto:treegestalt@gmail.com" class="">treegestalt@gmail.com</a>&gt; wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div dir="ltr" class="">
<pre class="gmail-lang-py gmail-s-code-block gmail-python gmail-hljs"><code class="">That required <br class="">sudo apt install python3-pip python3-setuptools python3<span class="gmail-hljs-number">.9</span>-venv<br class=""></code></pre>
<pre class="gmail-lang-py gmail-s-code-block gmail-python gmail-hljs"><code class="">and that worked, phew!<br class=""></code></pre>
</div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Jan 12, 2021 at 2:09 PM Forrest Curo &lt;<a href="mailto:treegestalt@gmail.com" class="">treegestalt@gmail.com</a>&gt; wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr" class="">
<div class="">Okay, re that pesky virtual environment. Upgrading my ubuntu distribution made for a clearer error message:</div>
<div class=""><br class="">
</div>
<div class="">&quot;The virtual environment was not created successfully because ensurepip is not<br class="">
available.&nbsp; On Debian/Ubuntu systems, you need to install the python3-venv<br class="">
package using the following command.<br class="">
<br class="">
&nbsp; &nbsp; apt-get install python3-venv<br class="">
<br class="">
...&quot;<br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Onward, thanks.<br class="">
</div>
<div class=""><br class="">
</div>
</div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sat, Jan 9, 2021 at 8:12 AM Iain Duncan &lt;<a href="mailto:iainduncanlists@gmail.com" target="_blank" class="">iainduncanlists@gmail.com</a>&gt; wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr" class="">That sounds very cool,&nbsp;I look forward to checking it out. I was curious about&nbsp;the scheduler, as my experience (limited) has been that Python is quite frustrating for soft-real time. But the other stuff sounds awesome, and like this could
 be a great &quot;gateway drug&quot; to CM with other languages. :-)
<div class=""><br class="">
</div>
<div class="">In obliquely related news, I'm very close to having my interaction with the Max scheduler code doing what I want nicely, so being able to run S7 CM in Max is getting close!</div>
<div class=""><br class="">
</div>
<div class="">iain<br class="">
<div class=""><br class="">
</div>
</div>
</div>
<br class="">
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Fri, Jan 8, 2021 at 5:36 PM Taube, Heinrich K &lt;<a href="mailto:taube@illinois.edu" target="_blank" class="">taube@illinois.edu</a>&gt; wrote:<br class="">
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
&gt; out of curiosity, which features of Common Music are not in there?<br class="">
<br class="">
the biggest missing piece is no connection to sndlib. But sndlib has its XEN bindings to forth and ruby and&nbsp; Python has Cython for implementing things at the C level so i expect that a binding could be made to python as well. musx is lacking MusicXml input,
 but Grace didnt have that either after fomus stopped being supported.&nbsp; &nbsp; I think maybe the right way to do musicxml input/ouput would be use something like DSGenerate&nbsp; to automatically generate Python musicxml classes directly from its schema.&nbsp; musx has no
 realtime scheduler.&nbsp; Python has threads so maybe it could be done (or they could be implemented in Cython, similar to how I did it Grace using Juce threads).&nbsp; xmus patterns are implemented using python generators (functions), so dont have all the expressibility
 as the patterns in CM. But its totally possible to just port CMs pattern classes, I just havent done it yet. The generators are simpler and work well for most patterns. musx actually has some features not in cm , right now it has&nbsp; basic music theory objects
 Pitch and Interval and there are some other theory things like set tools and score/part representations I&nbsp; already have but havent put them in yet until music xml support is there.&nbsp; grace had a plotter, but musx doesnt need one since python's matplotlib package
 can be used and is much more powerful. i think those are pretty much the differences - musx is able to run all the grace demo examples so the systems are pretty close.<br class="">
<br class="">
—Rick<br class="">
<br class="">
</blockquote>
</div>
_______________________________________________<br class="">
Cmdist mailing list<br class="">
<a href="mailto:Cmdist@ccrma.stanford.edu" target="_blank" class="">Cmdist@ccrma.stanford.edu</a><br class="">
<a href="https://urldefense.com/v3/__https://cm-mail.stanford.edu/mailman/listinfo/cmdist__;!!DZ3fjg!sqHkCzF6n1RnzyTfA_WKGEE9vwu4DcFt81ghPg1Z87Wf01osaGEl0v7f_nP5Yw$" rel="noreferrer" target="_blank" class="">https://cm-mail.stanford.edu/mailman/listinfo/cmdist</a><br class="">
</blockquote>
</div>
</blockquote>
</div>
_______________________________________________<br class="">
Cmdist mailing list<br class="">
<a href="mailto:Cmdist@ccrma.stanford.edu" class="">Cmdist@ccrma.stanford.edu</a><br class="">
https://urldefense.com/v3/__https://cm-mail.stanford.edu/mailman/listinfo/cmdist__;!!DZ3fjg!sqHkCzF6n1RnzyTfA_WKGEE9vwu4DcFt81ghPg1Z87Wf01osaGEl0v7f_nP5Yw$
<br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</body>
</html>