- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 win 7 下的 cygwin 上使用 virtualenv 1.9.1。每个 virtualenv 都是在没有任何选项的情况下创建的(显然除了目录名)。没有花哨的定制。
所有 virtualenv 都是新鲜的,因为我没有创建任何包装脚本,也没有编辑任何 virtualenv 脚本。我完全确定我没有做任何特别的事情(即除了滥用 virtualenv,而不是采取阻碍其操作的行动)导致多个 virtualenvs 中缺少 PYTHONPATH。
每个新 virtualenv 的 virtualenv 激活脚本不会创建 PYTHONPATH。 pip 在 $VIRTUAL_ENV/lib/python2.7/site-packages/<packagedir>
下安装包(例如 lib/python2.7/site-packages/html5lib
)。
pip 的行为似乎令人满意。 但是,运行 python(在激活 virtualenv 之后)导致没有 pip 安装的包可加载(即“没有名为...的模块”)。
更新:将 PYTHONPATH 添加到 activate
确实“解决”了问题。显然,我不想手动维护它,也不必更新 activate_this.py
.我仍然想知道为什么 virtualenvs 现在不能直接开箱即用。
解决方案是什么? virtualenv 从来没有这样做过。现在有什么问题吗?
更新 2:这是使用 -vv 运行 virtualenv 的输出:
$ virtualenv -vv newvirtualenv
Creating newvirtualenv/lib/python2.7
Symlinking Python bootstrap modules
Symlinking newvirtualenv/lib/python2.7/config
Symlinking newvirtualenv/lib/python2.7/lib-dynload
Symlinking newvirtualenv/lib/python2.7/os.py
Ignoring built-in bootstrap module: posix
Symlinking newvirtualenv/lib/python2.7/posixpath.py
Cannot import bootstrap module: nt
Symlinking newvirtualenv/lib/python2.7/ntpath.py
Symlinking newvirtualenv/lib/python2.7/genericpath.py
Symlinking newvirtualenv/lib/python2.7/fnmatch.py
Symlinking newvirtualenv/lib/python2.7/locale.py
Symlinking newvirtualenv/lib/python2.7/encodings
Symlinking newvirtualenv/lib/python2.7/codecs.py
Symlinking newvirtualenv/lib/python2.7/stat.py
Symlinking newvirtualenv/lib/python2.7/UserDict.py
File newvirtualenv/lib/python2.7/lib-dynload/readline.dll already exists
Symlinking newvirtualenv/lib/python2.7/copy_reg.py
Symlinking newvirtualenv/lib/python2.7/types.py
Symlinking newvirtualenv/lib/python2.7/re.py
Symlinking newvirtualenv/lib/python2.7/sre.py
Symlinking newvirtualenv/lib/python2.7/sre_parse.py
Symlinking newvirtualenv/lib/python2.7/sre_constants.py
Symlinking newvirtualenv/lib/python2.7/sre_compile.py
File newvirtualenv/lib/python2.7/lib-dynload/zlib.dll already exists
Symlinking newvirtualenv/lib/python2.7/warnings.py
Symlinking newvirtualenv/lib/python2.7/linecache.py
Symlinking newvirtualenv/lib/python2.7/_abcoll.py
Symlinking newvirtualenv/lib/python2.7/abc.py
Symlinking newvirtualenv/lib/python2.7/_weakrefset.py
Creating newvirtualenv/lib/python2.7/site-packages
Writing newvirtualenv/lib/python2.7/site.py
Writing newvirtualenv/lib/python2.7/orig-prefix.txt
Writing newvirtualenv/lib/python2.7/no-global-site-packages.txt
Creating parent directories for newvirtualenv/include
Symlinking newvirtualenv/include/python2.7
Creating newvirtualenv/bin
New python executable in newvirtualenv/bin/python2.7
Changed mode of newvirtualenv/bin/python2.7 to 0755
Also creating executable in newvirtualenv/bin/python
Changed mode of newvirtualenv/bin/python to 0755
Testing executable with newvirtualenv/bin/python2.7 -c "import sys;out=sys.stdout;getattr(out, "buffer", out).write(sys.prefix.encode("utf-8"))"
Got sys.prefix result: u'/cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv'
Creating newvirtualenv/lib/python2.7/distutils
Writing newvirtualenv/lib/python2.7/distutils/__init__.py
Writing newvirtualenv/lib/python2.7/distutils/distutils.cfg
Using existing setuptools egg: /usr/lib/python2.7/site-packages/virtualenv_support/setuptools-0.6c11-py2.7.egg
Installing setuptools...
Running command /cygdrive/c/Users/ma...ualenv/bin/python2.7 -c "#!python
\"\"\"Bootstra...sys.argv[1:])
" -v /usr/lib/python2.7/s...ols-0.6c11-py2.7.egg
Processing setuptools-0.6c11-py2.7.egg
Copying setuptools-0.6c11-py2.7.egg to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages
Adding setuptools 0.6c11 to easy-install.pth file
Saving /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/easy-install.pth
Installing easy_install script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin
changing mode of /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin/easy_install to 755
Installing easy_install-2.7 script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin
changing mode of /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin/easy_install-2.7 to 755
Installed /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/setuptools-0.6c11-py2.7.egg
Processing dependencies for setuptools==0.6c11
Finished processing dependencies for setuptools==0.6c11
...Installing setuptools...done.
Installing existing pip-1.3.1.tar.gz distribution: /usr/lib/python2.7/site-packages/virtualenv_support/pip-1.3.1.tar.gz
Installing pip...
Running command /cygdrive/c/Users/ma...ualenv/bin/python2.7 -x /cygdrive/c/Users/ma...env/bin/easy_install /usr/lib/python2.7/s...ort/pip-1.3.1.tar.gz
Processing pip-1.3.1.tar.gz
Running pip-1.3.1/setup.py -q bdist_egg --dist-dir /tmp/easy_install-ZP_VIv/pip-1.3.1/egg-dist-tmp-H3XBh_
warning: no files found matching '*.html' under directory 'docs'
warning: no previously-included files matching '*.txt' found under directory 'docs/_build'
no previously-included directories found matching 'docs/_build/_sources'
Adding pip 1.3.1 to easy-install.pth file
Installing pip script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin
Installing pip-2.7 script to /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/bin
Installed /cygdrive/c/Users/marcin/Documents/codeprojects/newvirtualenv/lib/python2.7/site-packages/pip-1.3.1-py2.7.egg
Processing dependencies for pip==1.3.1
Finished processing dependencies for pip==1.3.1
...Installing pip...done.
Writing newvirtualenv/bin/activate
Writing newvirtualenv/bin/activate.fish
Writing newvirtualenv/bin/activate_this.py
Writing newvirtualenv/bin/activate.csh
最佳答案
我在 Win7 上运行 cygwin 的 Python。我用 this 安装了 easy_install| .然后是 pip,然后是 virtualenv。然后运行 virtualenv newve
,然后运行 source newve/bin/activate
,然后 pip 安装一个包(IPython)。一切正常。我可以从 python REPL 导入,程序运行,路径设置正确。而且 PYTHONPATH 永远不会在任何地方设置。我很茫然。
尝试重新安装所有内容?
编辑:
发现 easy_install 在 cygwin 包 python-setuptools
中可用。
关于python - virtualenv 不创建 PYTHONPATH/pip 安装包不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16286669/
如何在 Geany 中添加新的 pythonpath?我在偏好设置/选项中缺少某些内容吗?我尝试将其添加到 .bashrc 中,但没有成功。 export PYTHONPATH=/mypath 我现在
我需要向我的 PYTHONPATH 添加一个新的目录位置,但问题是我在一个干净的新安装的系统 (Linux) 上,其中没有 PYTHONPATH尚未定义。我已经阅读并使用了 PYTHONPATH,我认
我有以下情况(通过以下命令验证): x 目录下已有 python 脚本文件 现有的 python 猫__init__.py归档在x x 添加到 PYTHONPATH登录用户和 sudo 均可用的变量
将该行放入 .bashrc(Mac 上为 .profile)中,工作目录位于该路径上。别管它,它不是。 export PYTHONPATH=$PYTHONPATH 我注意到带有该行的 shell 在其
我对 PyCharm 如何确定 Python 用于定位模块和包的路径感到困惑。 首先,当我取消选中设置时(在“Python 控制台”和我的运行配置中),我仍然在 sys.path 开头看到我的项目目录
标题真的说明了一切。当我运行脚本 ( ModuleNotFoundError: No module named ) 时,我的 PYTHONPATH 中的文件无法识别,但是当我在命令行中打开交互式提示
我想设置pythonpath,但它不适用于其他目录。 我的 bashrc: 导出 PYTHONPATH=/usr/lib/python2.7 导出 PYTHONPATH=$PYTHONPATH/pla
根据documentation , sys.path 在 Python 解释器 session 启动时从 PYTHONPATH 初始化。但是,就我而言,PYTHONPATH 变量为空。当我在终端中执行
我是一个长期的潜伏者,第一次发帖所以请保持温柔。 我已经使用 Python 几个月了,我一直在尝试安装一个名为 heatmap 的库。具体this fork .通过 zip 文件安装后,我可以很好地导
请帮助我理解这一点。在这里你可以看到我设置了 PYTHONPATH(它来 self 的 .bashrc) jean@klippie:~$ echo $PYTHONPATH :/home/jean/lo
环境:debian 4.0 python 2.4 我的“项目”安装在: /usr/lib/python2.4/site-packages/project. 但我想使用我的工作副本而不是位于以下位置的已
我正在考虑类似的事情 python3 my_script.py --pythonpath/path/to/some/necessary/modules 有这样的事情吗?我知道(我认为)Pycharm
关于 PYTHONPATH 和导入有很多类似的问题,但我没有找到我所需要的。 我有一个 git 存储库,其中包含一些 python 帮助程序脚本。这些脚本自然地组织在几个包中。像这样的东西: scri
我有一组脚本,它们是使用特定的 python 安装执行的(用第一行 # 设置!)。网络上有一些不同的 python 安装,不同的组有自己的设置和工作流程。一些组织指示人们在 shell 登录中修改 P
我一直在尝试按照这篇文章 Permanently add a directory to PYTHONPATH 上的建议将自定义目录添加到 PYTHONPATH .如果相关的话,我在 Mac 上使用 b
我正在运行一个显式设置 PYTHONPATH 以避免命名冲突的脚本。然而,即使我说 os.environ['PYTHONPATH'] = '',看起来系统仍然能够找到我在脚本之外“存在”的旧路径。 即
正在尝试运行 runsnake给 ImportError: No module named wx 打开 ipython 或 python session 似乎工作正常: >>> import wx >
我试图列出新安装的 Xubuntu 12.04 中已安装的软件包: for d in `echo "${PYTHONPATH}" | tr ':' '\n'`; do ls "${d}"; done
我正在和我的团队一起开发几个不同的 Python 包。假设我们有 ~/src/pkg1、~/src/pkg2 和 ~/src/pkg3。我们如何将这些添加到 PYTHONPATH 而无需我们每个人都管
我知道我可以让 Python 忽略 PYTHONPATH 如果我用 -E 标志启动它。 但是如何让 pip 安装的脚本有这个标志? 我尝试了代码的“脚本”和“console_scripts”部分,如果
我是一名优秀的程序员,十分优秀!