小编vmo*_*eco的帖子

Git子模块添加:"在本地找到git目录"问题

我实际上是在尝试学习如何使用git,包括"git submodule"子命令.我已经设置了一个服务器,我可以使用ssh托管,推送和拉取git存储库.我在这个服务器上创建了一个主要的git存储库"Travail",我希望将所有项目都作为子模块.

在我的Travail存储库中,我已经添加了一个我的项目作为子模块git submodule:我能够开发这个子模块,推送和拉动它.

但是当我尝试添加其他子模块(在我的服务器上从fdf.git命名为fdf)时,我遇到以下问题:

git submodule add ssh://XXX.XXX.XXX.XXX:XXXXX/opt/git/fdf.git projets/fdf
Run Code Online (Sandbox Code Playgroud)

'projets/fdf'的git目录在本地找到,其中包含remote:ssh://git@XXX.XXX.XXX.XXX:XXXXX/opt/git/fdf.git如果你想重用这个本地git目录而不是从ssh://XXX.XXX.XXX.XXX:XXXXX/opt/git/fdf.git再次克隆使用'--force'选项.如果本地git目录不是正确的repo,或者你不确定这意味着选择另一个带有'--name'选项的名称.

实际上没有子目录 tools/libft

我在另一个线程上读到我应该使用git子模块同步或编辑.gitmodules文件,其中我的子模块的源存储库的URL可能已经更改.

但我的.gitmodules文件只包含有关我的第一个子模块(tools/libft)的信息,而不是关于projets/fdf:

[submodule "tools/libft"]
    path = tools/libft
    url = ssh://git@XXX.XXX.XXX.XXX:XXXXX/opt/git/libft.git
Run Code Online (Sandbox Code Playgroud)

作为一名法国学生,我可能错过了我所拥有的英文文档中的内容,但我搜索过,我真的不明白为什么会遇到这个问题.

如果我能得到一个解决方案,我会很高兴,但只是一个解释也会有所帮助.

git git-submodules

159
推荐指数
5
解决办法
3万
查看次数

错误:virtualenvwrapper在你的道路上找不到virtualenv

我正在尝试创建一个virtualenv virtualenvwrapper,但是当我使用时,mkvirtualenv我得到以下内容:

ERROR: virtualenvwrapper could not find virtualenv in your path
Run Code Online (Sandbox Code Playgroud)

我以为这是一个PYTHONPATH问题.但如果我这样做,pip show virtualenv我得到以下内容:

---
Metadata-Version: 2.0
Name: virtualenv
Version: 13.1.0
Summary: Virtual Python Environment builder
Home-page: https://virtualenv.pypa.io/
Author: Jannis Leidel, Carl Meyer and Brian Rosner
Author-email: python-virtualenv@groups.google.com
License: MIT
Location: /Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages
Requires:
Run Code Online (Sandbox Code Playgroud)

这是我的PYTHONPATH:

/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/bin:/nfs/zfs - 学生-3 /用户/ 2013_paris/vmonteco /图书馆/ Python的/ 2.7/lib中/蟒蛇/站点包:/Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/ LIB /蟒蛇/站点包:〜/ .brew /酒窖

它包含包含virtualenv的目录!

(即:/Volumes/Data/nfs/zfs-student-3/users/2013_paris/vmonteco/Library/Python/2.7/lib/python/site-packages)

我的〜/ .zshrc包含:

export WORKON_HOME=~/Envs
export PROJECT_HOME=$HOME/Devel
source $HOME"/Library/Python/2.7/bin/virtualenvwrapper.sh"
Run Code Online (Sandbox Code Playgroud)

编辑: …

python virtualenv pythonpath virtualenvwrapper

37
推荐指数
6
解决办法
3万
查看次数

运行docker container:iptables:没有链/目标/匹配该名称

我正在尝试运行容器,但我遇到以下问题:

Error response from daemon: Cannot start container b005715c40ea7d5821b15c44f5b7f902d4b39da7c83468f3e5d7c042e5fe3fbd: iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0 -p tcp -d 172.17.0.43 --dport 80 -j ACCEPT: iptables: No chain/target/match by that name.
 (exit status 1)
Run Code Online (Sandbox Code Playgroud)

这是我使用的命令:

docker run -d -p 10080:80 -v /srv/http/website/data:/srv/http/www/data -v /srv/http/website/logs:/srv/http/www/logs myimage
Run Code Online (Sandbox Code Playgroud)

是不是在我的服务器上打开端口80了?有没有我错过了docker界面的东西?我使用iptables和这样的脚本:

#!/bin/sh

# reset :
iptables -t filter -F
iptables -t filter -X

# Block all :
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables …
Run Code Online (Sandbox Code Playgroud)

port iptables docker

27
推荐指数
5
解决办法
3万
查看次数

模板和派生类定义:错误:'myClass'不是类,命名空间或枚举

我正在尝试用C++学习模板,我有以下代码:

#include <stack>

template<typename T>
class   myClass : public std::stack<T>{
public:
    myClass(void);
    myClass(myClass const & src);
    virtual ~myClass(void);
    myClass &   operator=(myClass const & rhs);
};

template<typename T>
myClass::myClass(void) : std::stack<T>(){
}
Run Code Online (Sandbox Code Playgroud)

但是当我尝试编译时,我无法弄清楚为什么会得到以下内容:

test.cpp:17:1: error: 'myClass' is not a class, namespace, or enumeration
myClass::myClass(void) : std::stack<T>(){
^
test.cpp:8:9: note: 'myClass' declared here
class   myClass : public std::stack<T>{
        ^
1 error generated.
Run Code Online (Sandbox Code Playgroud)

它看起来像函数的定义导致错误,但我不知道为什么我得到这个错误,它看起来对我好(即使我猜它不是真的好),只是一个语法错误?

我用clang ++ -Wall -Werror -Wextra -c编译.

什么可能导致此错误?

c++ templates derived-class

15
推荐指数
1
解决办法
1万
查看次数

使用virtualenv和mod_wsgi的Apache:ImportError:没有名为'django'的模块

我正在尝试使用以下Apache配置为django项目提供服务:

Apache虚拟主机配置:

<VirtualHost *>
    ServerName servername

    [...]

    <Directory "/path/to/project/project">
        <Files wsgi.py>
            Require all granted
        </Files>
    </Directory>

    WSGIDaemonProcess project python-path=/path/to/project:/path/to/Envs/venv/lib/python3.5/site-packages                           
    WSGIScriptAlias / /path/to/project/project/wsgi.py

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我也有以下wsgi.py:

import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "example.settings")
application = get_wsgi_application()
Run Code Online (Sandbox Code Playgroud)

我没有问题来提供STATIC文件和MEDIA文件.

我还检查了权限并尝试递归使用755,然后777到我的virtualenv的site-package目录.它没用.

但是当我试图访问我的网站的根目录时,我得到以下内容:

from django.core.wsgi import get_wsgi_application
ImportError: No module named 'django'
Run Code Online (Sandbox Code Playgroud)

我猜这是一个Python路径相关的问题,因为django安装在我的virtualenv中.但我添加了相关的python路径WSGIDaemonProcesspython-path属性,所以我不明白为什么它不起作用.

我也猜测我可以通过使用site模块将相关目录添加到我的wsgi.py中的Python路径中,但我想了解为什么我尝试的Apache配置还不够.我错过了什么?

apache django mod-wsgi pythonpath

11
推荐指数
3
解决办法
2万
查看次数

在python中检测C类型限制("limits.h")?

我在python中做了一个小测试程序,在很多情况下测试一些C函数.这个python程序用于ctypes导入和使用我的C函数.

但我也想测试的最小值和最大值的情况下(limits.hULLONG_MAX举例).

但由于其中一些限制可能取决于系统,我宁愿避免在我的程序中对其进行硬编码; 我宁愿动态地得到它.

是否有可能在python中获得这些限制值?

c python ctypes limit

10
推荐指数
1
解决办法
458
查看次数

如何找到两个目录之间的相对路径?

我想在我的系统上找到两个目录之间的相对路径。

例子:

如果我有pathA == <pathA>pathB == <pathA>/dir1/dir2,它们之间的相对路径将是dir1/dir2.

我怎么能在python中找到它?有我可以使用的工具吗?

如果pathB包含在pathA 中,我可以做得到pathB.replace(pathA, '')这个相对路径,但是如果pathB不包含在pathA 中怎么

python

7
推荐指数
1
解决办法
2670
查看次数

`printf("%. - 1s \n","foo")`是否调用未定义的行为?

根据标准:

每个转换规范由字符%引入.在%之后,以下顺序出现:

  • 零个或多个标志[...].
  • 可选的最小字段宽度.[...]
  • 一个可选的精度,它提供了为s转换写入的最大字节数.精度采用句点(.)后跟[...]可选十进制整数的形式;
  • 可选的长度修改器[...].+转换说明符[...].
  • 可选的最小字段宽度.[...]
  • 转换说明符[...].

后来:

如果省略精度,则采用负精度参数.

printf("%.-1s\n", "foo")根据我如何解释标准定义,我期望得到什么:

我从标准中得到的第二个引用表明我们可以传递一个负精度参数,并且这种精度会被忽略.

所以,printf("%.-1s\n", "foo")应该相当于printf("%s\n", "foo"),它会显示"foo\n"和返回4.

然而,这是printf("%.-1s\n", "foo")我使用的系统(osx)上的实际行为:

printf("%.-1s\n", "foo")显示" \n"和返回2.

这显然不同于我的预期.

  • 不知怎的,我对标准的解释错了吗?
  • 这种行为是不确定的?
  • 传递负精度(编辑:没有星号)实际上可能吗?

c standards printf undefined-behavior language-lawyer

7
推荐指数
1
解决办法
258
查看次数

path() 和 re_path() 有什么区别?

在Django2.0进行了介绍path()re_path()

但是我不清楚两者之间的区别:是否能够使用正则表达式?

这是否意味着我不能在同一模式中同时使用<type:name>and(?P<name>\d+)语法?

django python-3.x django-2.0

7
推荐指数
1
解决办法
2715
查看次数

通过NFS上载文件时出现OSerror

当我尝试通过django管理界面上传媒体文件时,我收到此错误:

OSError: [Errno 45] Operation not supported
Run Code Online (Sandbox Code Playgroud)

这是追溯的最后一行:

  File "/path/to/home/Envs/myenv/lib/python3.5/site-packages/django/core/files/locks.py", line 112, in unlock
    ret = fcntl.lockf(_fd(f), fcntl.LOCK_UN)
Run Code Online (Sandbox Code Playgroud)

我找到了这个答案,其中一条评论让我看到了这张票,然后是这个提交,在票证中作为"解决方法"引入(见下文).

以下是django/core/files/locks.py根据解决方法我应该做的更改.

  elif system_type == 'posix':
     def lock(file, flags):
-        fcntl.flock(fd(file), flags)
+        fcntl.lockf(fd(file), flags)

     def unlock(file):
-        fcntl.flock(fd(file), fcntl.LOCK_UN)
+        fcntl.lockf(fd(file), fcntl.LOCK_UN)
Run Code Online (Sandbox Code Playgroud)

我试图手动反转此提交的更改(用flock()调用替换lockf()调用),但我仍然得到相同的错误.还有补丁,但这些补丁看起来很旧(约7岁,我使用django 1.9和python 3.5).

我该怎么解决这个问题?

编辑:

正如plombix所提到的,我的主目录安装在NFS上.

编辑2:

我也尝试用fcntl.fcntl()调用替换flock调用,我得到了一个不同的错误:

OSError: [Errno 14] Bad address
Run Code Online (Sandbox Code Playgroud)

django macos nfs python-3.x

6
推荐指数
1
解决办法
343
查看次数