Wou*_*ter 5 python linux pip tweepy synology
你能告诉我如何在我的 Synology(DS214play,DSM 6.0.1-7393 Update 1)上运行带有模块的 Python3?我想要什么:在我的 Synology 上运行 Python3 中的 Tweepy 和其他模块。
我被困的地方:
如何让 PIP3 安装 Tweepy,如果我尝试我得到: Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages
显然我安装了 Python 2.7 但我不知道......
root@DiskStation:/volume1/@appstore/python3/include# ls
get-pip.py python3.4m
root@DiskStation:/volume1/@appstore/python3/include# python3 get-pip.py
-ash: python3: command not found
root@DiskStation:/volume1/@appstore/python3/include# python get-pip.py
Requirement already up-to-date: pip in /usr/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)所以为了让 PIP3 工作,我需要了解 Python2.7 的安装位置,甚至可能如何删除它(如果有必要)。
最好知道哪个 Python3 软件包最适合使用(默认来自 Synology DSM 软件包管理器或 SynoCommunity Python3 pacakge)
因为当通过 SSH(使用 PuTTY)连接到我的 Synology 时,我可以在 DSM 包管理器和相关文件夹中看到 Python3。
但是我没有看到任何 Python2.7 包(我相信它必须在那里),并且在与 SSH 连接时我找不到任何 Python 2.7 文件夹,即使很艰难我暗示必须有一个“/usr/lib/python2.7”。 7/site-packages " 某处的文件夹...
-> Synology DSM 软件包管理器的默认 Python3 位于 py3k 文件夹中:
admin@DiskStation: /volume1/@appstore/py3k/usr/local/bin$
python3
Run Code Online (Sandbox Code Playgroud)
-> SynoCommunity Python3 包安装在不同的地方:
admin@DiskStation: /volume1/@appstore/python3$ ls
bin etc include install.log lib openssl.cnf share
admin@DiskStation: /volume1/@appstore/python3/bin$ ls
2to3 busybox bzfgrep bzmore delgroup fatattr infocmp lzmainfo pip3 python3.4 reset start-stop-daemon tset virtualenv-3.4 xz
2to3-3.4 bzcat bzgrep captoinfo deluser gpg-error infotocap mpicalc pip3.4 python3.4m shuf tabs unlink wheel xzcat
addgroup bzcmp bzip2 clear dumpsexp hmac256 lzcat nice pydoc3 pyvenv speexdec tic unlzma xmlcatalog xzdec
adduser bzdiff bzip2recover c_rehash easy_install idle3 lzma openssl pydoc3.4 pyvenv-3.4 speexenc toe unxz xmllint
bunzip2 bzegrep bzless curl easy_install-3.4 idle3.4 lzmadec pip python3 renice sqlite3 tput virtualenv xsltproc
admin@DiskStation:/volume1/@appstore/python3/bin$ python3
-sh: python3: command not found
Run Code Online (Sandbox Code Playgroud)
我做了什么:
我使用 Synology DSM 包管理器安装 Python3,然后通过 SSH(使用 PuTTY)连接到我的 Synology 并设置 PATH 并使用 PIP 安装 Tweepy 和其他模块。
我相信这是一些命令,例如:(不幸的是,大多数情况下都是复制粘贴的,但不知道具体是什么意思......)
root@DiskStation:~# curl -k https://bootstrap.pypa.io/get-pip.py | python
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1488k 100 1488k 0 0 1577k 0 --:--:-- --:--:-- --:--:-- 1577k
Collecting pip
Using cached pip-8.1.2-py2.py3-none-any.whl
Collecting setuptools
Downloading setuptools-23.1.0-py2.py3-none-any.whl (435kB)
100% |????????????????????????????????| 440kB 551kB/s
Collecting wheel
Using cached wheel-0.29.0-py2.py3-none-any.whl
Installing collected packages: pip, setuptools, wheel
Successfully installed pip-8.1.2 setuptools-23.1.0 wheel-0.29.0
Run Code Online (Sandbox Code Playgroud)
我能够基于此运行脚本并且非常高兴。直到我收到一些 (Unicode) 错误并且从错误日志中看到它是在我的 Synology 上运行的 Python 2.7 版本。似乎这些 Unicode 问题已在 Python3(我的 PC 上也有)中解决,所以我也希望在 Synology 上安装 Python3。
并且确实安装了 2.7 版本,如果我使用 SSH 连接并输入 Python 我得到:
admin@DiskStation:~$ python
Python 2.7.11 (default, May 13 2016, 05:16:12)
[GCC 4.9.3 20150311 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Run Code Online (Sandbox Code Playgroud)
这很奇怪,因为我在包管理器中没有看到 Synology 的任何 Python 2.7 包,所以我必须通过一些我打算只用于 PIP 的 SSH 命令安装了 2.7。
我在 Synology 安装了默认的 Python3 包,如果我输入,admin@DiskStation:~$ python3
我确实准备好使用 python3。
在 /volume1/@appstore/py3k/ 我看到各种 Python 和 PIP 版本,python3 运行良好。但是,没有任何模块并且 PIP3 不起作用(“找不到命令”),我从所有可能的目录中尝试了类似问答中建议的各种格式,例如pip3.4 install tweepy, pip3 install tweepy, etc.
所以现在使用 DSM 包管理器,我卸载了 Python3 并安装了 SynoCommunity Python3(如Synology 论坛上的建议),它显示了不同的目录结构。但似乎更糟,因为现在我再也看不到对 Python 2.7 的引用(但它仍然在运行,所以必须在那里),甚至无法启动 python3:
admin@DiskStation:~$ cd /volume1
admin@DiskStation:/volume1$ cd @appstore
admin@DiskStation:/volume1/@appstore$ cd python3
admin@DiskStation:/volume1/@appstore/python3$ ls
bin etc include install.log lib openssl.cnf share
admin@DiskStation:/volume1/@appstore/python3$ cd bin
admin@DiskStation:/volume1/@appstore/python3/bin$ ls
2to3 bzcmp bzless deluser idle3 lzmainfo pydoc3 renice tabs unxz xz
2to3-3.4 bzdiff bzmore dumpsexp idle3.4 mpicalc pydoc3.4 reset tic virtualenv xzcat
addgroup bzegrep captoinfo easy_install infocmp nice python3 shuf toe virtualenv-3.4 xzdec
adduser bzfgrep clear easy_install-3.4 infotocap openssl python3.4 speexdec tput wheel
bunzip2 bzgrep c_rehash fatattr lzcat pip python3.4m speexenc tset xmlcatalog
busybox bzip2 curl gpg-error lzma pip3 pyvenv sqlite3 unlink xmllint
bzcat bzip2recover delgroup hmac256 lzmadec pip3.4 pyvenv-3.4 start-stop-daemon unlzma xsltproc
admin@DiskStation:/volume1/@appstore/python3/bin$ python3
-sh: python3: command not found
admin@DiskStation:/volume1/@appstore/python3/bin$ python
Python 2.7.11 (default, May 13 2016, 05:16:12)
[GCC 4.9.3 20150311 (prerelease)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
Run Code Online (Sandbox Code Playgroud)
所以我到了要寻求一些提示、提示和建议的地步。
我不确定您是否可以完全删除 Python 2,但您可以安装 Python 3 并专门调用它而不是 Python 2。
首先,确保已安装 Python 3:通过网络管理登录 Synology,并在“套件中心”中确保已安装“Python 3”。(您可以在“软件包中心”的“开发人员工具”下找到它)
接下来,通过简单地调用来专门调用 Python 3python3
您还可以尝试在 Synology 上使用locate 命令来查找 Python 2 的确切位置。为此,请在 Synology 上输入以下命令:
ipkg update
ipkg install mlocate
Run Code Online (Sandbox Code Playgroud)
这是有关如何使用该命令的教程:http://www.thegeekstuff.com/2012/03/locate-command-examples/
祝你好运!
另外,如果您在 Stack Overflow 上没有运气,我也会跑到 Synology 论坛寻求帮助: https: //forum.synology.com
| 归档时间: |
|
| 查看次数: |
32223 次 |
| 最近记录: |