<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>salsotto.com » difundindo ideias na web &#187; Python</title>
	<atom:link href="http://blog.salsotto.com/category/python/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.salsotto.com</link>
	<description>Quando uma boa ideia acontece e seu comodismo a desperdiça, você estará em dívida contigo e com a humanidade.&#34; ( Ivan Teorilang )</description>
	<lastBuildDate>Mon, 09 Jan 2012 03:01:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Instalando dependências do Python rapidamente com o PIP</title>
		<link>http://blog.salsotto.com/2012/01/09/instalando-dependencias-do-python-rapidamente-com-o-pip/</link>
		<comments>http://blog.salsotto.com/2012/01/09/instalando-dependencias-do-python-rapidamente-com-o-pip/#comments</comments>
		<pubDate>Mon, 09 Jan 2012 03:01:49 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=947</guid>
		<description><![CDATA[Como prometido em meu post anterior (Instalar o ambiente de desenvolvimento Python no Ubuntu) falarei da incrível facilidade de instalar dependências de um projeto Python utilizando o arquivo requirements files.
Por padrão, é comum criar um arquivo chamado requirements.txt (pode ser utilizado com qualquer nome) na raiz de um projeto, para indicar quais pacotes serão instalados [...]]]></description>
			<content:encoded><![CDATA[<p>Como prometido em meu post anterior (<a href="http://blog.salsotto.com/2012/01/08/instalar-o-ambiente-de-desenvolvimento-python-no-ubuntu/" target="_blank">Instalar o ambiente de desenvolvimento Python no Ubuntu</a>) falarei da incrível facilidade de instalar dependências de um projeto Python utilizando o arquivo requirements files.</p>
<p>Por padrão, é comum criar um arquivo chamado requirements.txt (pode ser utilizado com qualquer nome) na raiz de um projeto, para indicar quais pacotes serão instalados no deploy do projeto.</p>
<p>A formatação do arquivo é bem simples, com o nome do pacote em cada linha. Apesar de não ser obrigatório, é bom também indicar qual a versão do pacote a ser utilizada. Também pode se usar &gt;= para indicar um versão igual ou superior. Caso não seja detalhado qual a versão, o pip sempre instalará a versão mais recente disponível.</p>
<p>Com o arquivo criado, basta rodar o seguinte comando:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Bash"><div class="devcodeoverflow"><ol><li>pip <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #660033;">-r</span> requirements.txt</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>Fica um <a href="http://blog.salsotto.com/wp-content/uploads/2012/01/requirements.txt" target="_blank">exemplo</a> do arquivo para quem quiser baixar.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2012/01/09/instalando-dependencias-do-python-rapidamente-com-o-pip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar o ambiente de desenvolvimento Python no Ubuntu</title>
		<link>http://blog.salsotto.com/2012/01/08/instalar-o-ambiente-de-desenvolvimento-python-no-ubuntu/</link>
		<comments>http://blog.salsotto.com/2012/01/08/instalar-o-ambiente-de-desenvolvimento-python-no-ubuntu/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 22:03:58 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=944</guid>
		<description><![CDATA[Há dois anos atrás mostrei como como Instalar o ambiente de desenvolvimento Python no Windows. Dessa vez, mostro rapidamente como montar seu ambiente no Ubuntu.
Primeiramente, iremos instalar o setup-tools, assim como mostrei no Windows:
sudo apt-get install python-setuptools
No entanto, recentemente conheci um outro instalador de pacotes, o PIP:
sudo apt-get install python-pip
A sua utilização é semelhante ao [...]]]></description>
			<content:encoded><![CDATA[<p>Há dois anos atrás mostrei como como <a href="http://blog.salsotto.com/2010/01/19/instalar-o-ambiente-de-desenvolvimento-python/" target="_blank">Instalar o ambiente de desenvolvimento Python</a> no Windows. Dessa vez, mostro rapidamente como montar seu ambiente no Ubuntu.</p>
<p>Primeiramente, iremos instalar o setup-tools, assim como mostrei no Windows:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Bash"><div class="devcodeoverflow"><ol><li><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get install</span> python-setuptools</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>No entanto, recentemente conheci um outro instalador de pacotes, o PIP:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Bash"><div class="devcodeoverflow"><ol><li><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">apt-get install</span> python-pip</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>A sua utilização é semelhante ao do setup-tools, porém muito mais eficaz, mas deixarei isso para um próximo post. Abaixo segue como instalar pacotes Python:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Bash"><div class="devcodeoverflow"><ol><li>pip <span style="color: #c20cb9; font-weight: bold;">install</span> PIL</li></ol></div></pre><!--END_DEVFMTCODE--></p>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow: hidden;">
<h2><a title="Permalink to: Instalar o ambiente de desenvolvimento Python" rel="bookmark" href="../2010/01/19/instalar-o-ambiente-de-desenvolvimento-python/">Instalar o ambiente de desenvolvimento Python</a></h2>
</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2012/01/08/instalar-o-ambiente-de-desenvolvimento-python-no-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Criando variáveis dinâmicas no Django</title>
		<link>http://blog.salsotto.com/2011/08/05/criando-variaveis-dinamicas-no-django/</link>
		<comments>http://blog.salsotto.com/2011/08/05/criando-variaveis-dinamicas-no-django/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 13:45:11 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=748</guid>
		<description><![CDATA[Fazendo um comparativo, esta funcionalidade do Python é similar a funcionalidade do PHP (variáveis variáveis), onde através de um request é possível criar variáveis dinamicamente. Como em muitos outros casos, realizar essa manipulação no Django é absolutamente &#8220;easy&#8221;.
Fica mais essa dica! Abs
#percorre o requestfor key, value in request.POST.iteritems&#40;&#41;:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;#cria as variaveis dinamicamente&#160;&#160;&#160;&#160;globals&#40;&#41;&#91;key&#93; = request.POST.get&#40;key, ''&#41;
]]></description>
			<content:encoded><![CDATA[<p>Fazendo um comparativo, esta funcionalidade do Python é similar a funcionalidade do PHP (<a href="http://php.net/manual/pt_BR/language.variables.variable.php" target="_blank">variáveis variáveis</a>), onde através de um request é possível criar variáveis dinamicamente. Como em muitos outros casos, realizar essa manipulação no Django é absolutamente &#8220;easy&#8221;.</p>
<p>Fica mais essa dica! Abs</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Python"><div class="devcodeoverflow"><ol><li><span style="color: #808080; font-style: italic;">#percorre o request</span></li><li><span style="color: #ff7700;font-weight:bold;">for</span> key, value <span style="color: #ff7700;font-weight:bold;">in</span> request.<span style="color: black;">POST</span>.<span style="color: black;">iteritems</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>:&nbsp;&nbsp;&nbsp;&nbsp;</li><li>&nbsp;</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #808080; font-style: italic;">#cria as variaveis dinamicamente</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #008000;">globals</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#91;</span>key<span style="color: black;">&#93;</span> = request.<span style="color: black;">POST</span>.<span style="color: black;">get</span><span style="color: black;">&#40;</span>key, <span style="color: #483d8b;">''</span><span style="color: black;">&#41;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2011/08/05/criando-variaveis-dinamicas-no-django/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Instalar o ambiente de desenvolvimento Python</title>
		<link>http://blog.salsotto.com/2010/01/19/instalar-o-ambiente-de-desenvolvimento-python/</link>
		<comments>http://blog.salsotto.com/2010/01/19/instalar-o-ambiente-de-desenvolvimento-python/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 12:35:05 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=663</guid>
		<description><![CDATA[Vejo que alguns novos aventureiros nesse maravilhoso mundo de desenvolvimento em Python deparam-se com algumas dificuldades em instalar um ambiente estável com suas bibliotecas.
Um meio muito simples de realizar essa tarefa é instalar o setuptools, que nada mais do que um instalador via linha de comando semelhante ao do linux, porém ainda mais fácil. Antes [...]]]></description>
			<content:encoded><![CDATA[<p>Vejo que alguns novos aventureiros nesse maravilhoso mundo de desenvolvimento em Python deparam-se com algumas dificuldades em instalar um ambiente estável com suas bibliotecas.</p>
<p>Um meio muito simples de realizar essa tarefa é instalar o setuptools, que nada mais do que um instalador via linha de comando semelhante ao do linux, porém ainda mais fácil. Antes de instalar o setup tools é necessário que instale o <a title="Download do Python" href="http://www.python.org/download/" target="_blank">Python</a> e posteriormente instale o <a title="Download do Setuptools" href="http://pypi.python.org/pypi/setuptools/" target="_blank">setuptools</a>.</p>
<p>Após a instalação, é necessário que adicione os dois programas ao PATH do seu sistema operacional, sendo que aqui utilizarei o Windows como exemplo, então vá em:</p>
<p>Meu Computador<br />
- -&gt; Propriedades<br />
- &#8211; - -&gt; Avançado<br />
- &#8211; - &#8211; - -&gt; Variáveis de Ambiente</p>
<p>Depois encontre a variável PATH na lista de variáveis de sistema, caso não a encontre, basta cria-lá com esse nome. Com ela em vista, selecione-a e clique em editar, e no campo valor da variável adicone os seguintes valores separados por &#8216;;&#8217;.</p>
<p>C:\Python25\Lib\site-packages\setuptools;C:\Python25\Scripts;</p>
<p>O valor acima você terá que muda-lo caso tenha instalado o Python em outro caminho ou sua versão seja diferente da 2.5. Após isso basta abrir o prompt de comando e dar o seguinte comando: &#8216;easy_install&#8217; + pacote a ser instalado.</p>
<p>Exemplo:<br />
easy_install django</p>
<p>Ai vai das suas necessidades, quanto aos pacotes a serem instalados! Muito simples não!??&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2010/01/19/instalar-o-ambiente-de-desenvolvimento-python/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tamanho dos indíces de uma lista em Python</title>
		<link>http://blog.salsotto.com/2009/12/08/tamanho-dos-indices-de-uma-lista-em-python/</link>
		<comments>http://blog.salsotto.com/2009/12/08/tamanho-dos-indices-de-uma-lista-em-python/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 23:32:19 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=609</guid>
		<description><![CDATA[Assumindo que a nossa lista seja a seguir:
carros = &#91;'gol', 'vectra', 'celta', 'golf','polo','uno'&#93;for carro in carros:&#160;&#160;&#160;&#160;print carro, len&#40;carro&#41;
Desse modo, temos como resultado, item por item e os seus respectivos tamanhos:
gol(3) / vectra(6) / celta(5)&#160; / golf (4) / polo(4) / uno(3)
]]></description>
			<content:encoded><![CDATA[<p>Assumindo que a nossa lista seja a seguir:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Python"><div class="devcodeoverflow"><ol><li>carros = <span style="color: black;">&#91;</span><span style="color: #483d8b;">'gol'</span>, <span style="color: #483d8b;">'vectra'</span>, <span style="color: #483d8b;">'celta'</span>, <span style="color: #483d8b;">'golf'</span>,<span style="color: #483d8b;">'polo'</span>,<span style="color: #483d8b;">'uno'</span><span style="color: black;">&#93;</span></li><li><span style="color: #ff7700;font-weight:bold;">for</span> carro <span style="color: #ff7700;font-weight:bold;">in</span> carros:</li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #ff7700;font-weight:bold;">print</span> carro, <span style="color: #008000;">len</span><span style="color: black;">&#40;</span>carro<span style="color: black;">&#41;</span></li></ol></div></pre><!--END_DEVFMTCODE--><br />
Desse modo, temos como resultado, item por item e os seus respectivos tamanhos:</p>
<p><strong>gol</strong>(3) / <strong>vectra</strong>(6) / <strong>celta</strong>(5)&nbsp; / <strong>golf </strong>(4) / <strong>polo</strong>(4) / <strong>uno</strong>(3)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2009/12/08/tamanho-dos-indices-de-uma-lista-em-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Anexando e removendo diretórios ao seu PythonPath</title>
		<link>http://blog.salsotto.com/2009/12/08/anexando-e-removendo-diretorios-ao-seu-pythonpath/</link>
		<comments>http://blog.salsotto.com/2009/12/08/anexando-e-removendo-diretorios-ao-seu-pythonpath/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 15:40:47 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=601</guid>
		<description><![CDATA[O PythonPath é uma lista de diretórios Python que são armazenados no path do módulo sys. Desde que o caminho é uma lista, você pode usar o método append para adicionar novos diretórios para o caminho. Por exemplo, para adicionar o diretório &#8220;/home/salsotto/app&#8221; para o caminho, basta fazer:
import sys&#160;&#160;&#160;&#160;sys.path.append &#40; &#34;/home/salsotto/app&#34;&#41;
&#160;
Pronto! Já o diretório foi [...]]]></description>
			<content:encoded><![CDATA[<p>O PythonPath é uma lista de diretórios Python que são armazenados no path do módulo sys. Desde que o caminho é uma lista, você pode usar o método append para adicionar novos diretórios para o caminho. Por exemplo, para adicionar o diretório &#8220;<strong>/home/salsotto/app</strong>&#8221; para o caminho, basta fazer:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Python"><div class="devcodeoverflow"><ol><li><span style="color: #ff7700;font-weight:bold;">import</span> <span style="color: #dc143c;">sys</span></li><li>&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #dc143c;">sys</span>.<span style="color: black;">path</span>.<span style="color: black;">append</span> <span style="color: black;">&#40;</span> <span style="color: #483d8b;">&quot;/home/salsotto/app&quot;</span><span style="color: black;">&#41;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
<p>Pronto! Já o diretório foi adicionado ao seu PythonPath. Agora para deletar, é necessário que você saiba o elemento exato que você queira apagar, mas como o sys.path é como qualquer outra lista em Python e pode ser manipulado como os outros, então para fazermos isso seria:</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Python"><div class="devcodeoverflow"><ol><li><span style="color: #ff7700;font-weight:bold;">del</span> <span style="color: #dc143c;">sys</span>.<span style="color: black;">path</span><span style="color: black;">&#91;</span><span style="color: #ff4500;">3</span><span style="color: black;">&#93;</span></li></ol></div></pre><!--END_DEVFMTCODE--></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2009/12/08/anexando-e-removendo-diretorios-ao-seu-pythonpath/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Separando strings em Python</title>
		<link>http://blog.salsotto.com/2009/12/05/separando-strings-em-python/</link>
		<comments>http://blog.salsotto.com/2009/12/05/separando-strings-em-python/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 23:44:55 +0000</pubDate>
		<dc:creator>Salsotto</dc:creator>
				<category><![CDATA[Django]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://blog.salsotto.com/?p=620</guid>
		<description><![CDATA[Para separar strings em Python é semelhante a quem já viu a função explode do PHP, onde usamos um delimitador para separar a string que nos retorna uma lista(array) com as palavras separadas. Vamos ao exemplo prático para entender melhor.
#string a ser separadaurl = http://www.salsotto.com#separa a string em uma listaurl = url.split&#40;&#34;//&#34;&#41;#recebe o primeiro valor [...]]]></description>
			<content:encoded><![CDATA[<p>Para separar strings em Python é semelhante a quem já viu a função explode do <strong>PHP</strong>, onde usamos um delimitador para separar a string que nos retorna uma lista(array) com as palavras separadas. Vamos ao exemplo prático para entender melhor.</p>
<p><!--DEVFMTCODE--><pre class="devcodeblock" title="Python"><div class="devcodeoverflow"><ol><li><span style="color: #808080; font-style: italic;">#string a ser separada</span></li><li>url = http://www.<span style="color: black;">salsotto</span>.<span style="color: black;">com</span></li><li><span style="color: #808080; font-style: italic;">#separa a string em uma lista</span></li><li>url = url.<span style="color: black;">split</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">&quot;//&quot;</span><span style="color: black;">&#41;</span></li><li><span style="color: #808080; font-style: italic;">#recebe o primeiro valor da lista</span></li><li>protocolo = url<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span></li><li><span style="color: #808080; font-style: italic;">#recebe o segundo valor da lista</span></li><li>endereco = url<span style="color: black;">&#91;</span><span style="color: #ff4500;">1</span><span style="color: black;">&#93;</span></li></ol></div></pre><!--END_DEVFMTCODE--><br />
O split usa como delimitador espaço em branco, então se necessitar separar uma string onde o seu delimitador seja o espaço, não é necessário passar nenhum parâmetro.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.salsotto.com/2009/12/05/separando-strings-em-python/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

