【问题标题】:Why does my Cygwin setup tell me Python3.6 not installed?为什么我的 Cygwin 设置告诉我没有安装 Python3.6?
【发布时间】:2018-05-25 10:39:23
【问题描述】:

已安装 Python 3.6(使用 Cygwin 安装程序 .exe 文件、更新等)。可执行文件位于/bin/ ...还是位于/usr/bin/? Cygwin ls 命令显示 /usr/bin 存在...但在 Windows 上该目录不存在。两个目录的内容也是相同的,包括如果我更改了文件名......但我还没有找到符号链接(在 /usr/ 中)来解释这一点!

我正在努力安装 virtualenvwrapper(这是与一本书《TDD With Python》一起进行的准备工作的一部分)。

我刚刚克服了第一个障碍(最终),意识到我必须使用 pip3 而不是 pip 来安装 virtualenvwrapper! ...我觉得自己陷入了困境。

所以我做到了:

pip3 install virtualenvwrapper
echo "source virtualenvwrapper.sh" >> ~/.bashrc
source ~/.bashrc

...然后我做了

mkvirtualenv --python3=`py -3.6 -c"import sys; print(sys.executable)"` superlists

(注意“python3”是指向/bin/ 中的Python3 可执行文件的符号链接的正确名称;有一个“python”符号链接但指向Python2.7)

我得到了:

未安装请求的 Python 版本 (3.6)
使用基本前缀“/usr”
新的python可执行文件 /home/Chris/.virtualenvs/superlists/bin/python3
也在创建 /home/Chris/.virtualenvs/superlists/bin/python 中的可执行文件
安装 setuptools、pip、wheel...完成。
virtualenvwrapper.user_scripts 创建 /home/Chris/.virtualenvs/superlists/bin/predeactivate
virtualenvwrapper.user_scripts 创建 /home/Chris/.virtualenvs/superlists/bin/postdeactivate
virtualenvwrapper.user_scripts 创建 /home/Chris/.virtualenvs/superlists/bin/preactivate
virtualenvwrapper.user_scripts 创建 /home/Chris/.virtualenvs/superlists/bin/postactivate
virtualenvwrapper.user_scripts 创建 /home/Chris/.virtualenvs/superlists/bin/get_env_details
(超级列表)

有人知道发生了什么吗?如何让系统识别出实际安装了 Python3.6?

稍后或者……我是不是太密集了?也许使用这个模块创建一个虚拟环境总是需要安装一个新的 Python 可执行文件?

稍后我仍然不清楚这一点......但这并没有阻止我使用virtualenvvirtualenvwrapper 并且通常继续阅读这本书。尽管抱怨 Python 不存在,但设置似乎(据我所知!)使用目录 .virtualenv/ 中目录下的符号链接到 /bin/ 中的 Python 符号链接之一 ...

【问题讨论】:

  • Cygwin 有py 命令吗?我认为它仅适用于 Windows。
  • 使用virtualenvwrapper-win 和常规的python-on-windows 工具链可能更容易在windows 上运行,或者为linux + Ubuntu 安装windows 子系统(尽管我几乎没有接触过后者) .
  • 感谢您的建议。事实上,尽管有这个令人沮丧的消息,我还是设法继续做这件事!

标签: python-3.x cygwin virtualenvwrapper pip3


【解决方案1】:

关于第一个问题

/usr/bin 和 /usr/lib 默认也是自动挂载点 由 Cygwin DLL 生成类似于根目录的方式 评估。 /usr/bin 指向 Cygwin DLL 所在的目录 安装在,/usr/lib 应该指向 /lib 目录。

https://cygwin.com/cygwin-ug-net/using.html#mount-table

第二个,检查是否安装了phyton3

$ cygcheck -c python3

正如phd 所提到的,py 命令不是 cygwin 的,所以你可能正在混合一些东西。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-19
    • 2015-04-12
    • 2018-06-30
    • 2017-09-23
    • 2019-07-22
    • 1970-01-01
    • 2011-12-08
    相关资源
    最近更新 更多